Gisteren schreef ik over de update van Tweetnest om gebruik te kunnen maken van Twitter API versie 1.1. Daarbij gaf ik aan dat ik hoopte dat Tweetnest nog een keer de mogelijkheid zou krijgen om ook het Twitter-archieft, dat je tegenwoordig kunt aanvragen, te importeren.
Via de API kun je namelijk maximaal 3.200 tweets in het verleden zoeken en als je, zoals bij mij het geval was, al een paar jaar tweets aan het versturen was voordat je Tweetnest installeerde, dan krijg je ze dus niet allemaal op die manier binnen.
Het blijkt dat die optie al beschikbaar is. Niet in de versie die ik gisteren gedownload heb (met ondersteuning voor de 1.1 versie van de API), maar wel in deze codebasis.
Het stappenplan is nu als volgt:
- Start (net als gisteren beschreven) met een lege map en upload de code van de versie met 1.1 ondersteuning
- Maak een map archive aan binnen die map
- Download het bestand maintenance/loadarchive.php van de andere versie (zie link) en voeg die toe in de map maintenance van de nieuwe versie.
- Run setup en maak nieuwe tabellen aan in ofwel een nieuwe database ofwel de bestaande database (kies in dat geval een andere prefix!!).
- Vraag een backupset aan bij Twitter (via je Profiel > Account – onder aan de pagina) en download hem zodra je de mail hebt.
- Pak het archief uit.
- Upload de .js bestanden in data\js\tweets naar de map archive op de server
- Run het loaduser.php script
- Run het loadarchive.php script
- Stel de cronjob is voor loaduser.php en loadtweets.php zodat het archief bijgewerkt blijft.
Als je veel tweets hebt om te importeren kan het zijn dat het script een paar keer stopt met een foutmelding. Dat kan geen kwaad, gewoon even opnieuw opstarten totdat je ziet dat het archief compleet is.
Nu heb ik tenminste alle 24.466 tweets die ik tot dit moment verstuurd had in Tweetnest zitten.
Helaas is het stoeien met Tweetnest nog niet helemaal voorbij. Ik zie dat bij de recente tweets er iets aparts gebeurt met de getallen die verwijzen naar de “in reply to…” tweets. Die wordt nu in wetenschappelijke notatie weergegeven. Ik moet nog even in de code duiken om te zien waar dat mis gaat want in de database zit die info wél goed zo te zien.
Maar dat is iets voor na het zomerreces. 😉