Wenn Funktionen auf der eigenen Site defekt sind, fällt dies immer zuletzt auf…
Ab und wann wirft man einen Blick auf die eigene Website bzw. diesen Blog hier. Gerade dann, wenn die Zeit so rar ist wie momentan – irgendwie vergehen die Wochenenden auch viel zu schnell, der nächste Urlaub ist über die Weihnachtstage eingeplant, und bis dahin wird es ebenfalls nicht ruhiger als zuvor. Nichtsdestotrotz fiel auf, dass die Twitter-Timeline, d.h. die letzten drei Nachrichten meiner Twitter-Aktivitäten nicht angezeigt wurden. Durch einiges Exception-Handling bei der Nutzung der Twitter-API hatte ich zwar die Anzeige kryptischer Fehlermeldungen oder gar den Ausfall der Site vermieden, aber dass Twitter so häufig nicht antwortete, war trotz der bislang typischen Twitter-Probleme ungewöhnlich.
Ergo begab ich mich auf die Fehlersuche. Aha, Twitter verwendet nun OAuth anstatt der bisherigen Authentifizierungsmethode. Nun gut, laut Dokumentation meiner verwendeten API namens Python-Twitter sollte dies unterstützt werden. Leider stimmte die aktuelle API-Dokumentation von Python-Twitter nicht mit der aktuell angebotenen Version von 2009 überein, und ebenso wenig mit dem Code der Development-Version, welche überdies nur direkt aus dem Mercurial-Repository verfügbar war und zudem weitere Libraries wie python-oauth2 voraussetzte…
Darüber hinaus ist nun die Registrierung einer Applikation bei Twitter Voraussetzung für die Nutzung der API – ein sinnvoller, aber eben zusätzlicher Schritt. Danach musste aus den sog. Consumer-Key und Consumer-Secret noch der Access-Key und Access-Secret generiert werden. Erst dann ging es an die Anpassung des bisherigen Codes – hier war nur eine Änderung der bisherigen Methode anhand Username und Passwort hin zur Nutzung der vielen Keys notwendig.
Der Erfolg dieses kleinen Hürdenlaufes zeigte sich schnell – die drei letzten Twitter-Nachrichten erscheinen ab sofort wieder rechts in ihrer eigenen Box. Ist doch auch irgendwie schöner und spannender als ein vorgefertigtes Twitter-Widget zu benutzen.