Mit PHP automatisch auf Twitter posten

twitter-api

Grundsätzlich ist das manuelle Tweeten immer dem Automatischen vorzuziehen, denn nur so kann man echten und authentischen Content erzeugen.
In manchen Situationen jedoch ist eine Automatisierung sehr hilfreich.

So auch im Falle von Tierheimhelden.
Wir wollten einen Twitter-Account, auf dem es lediglich darum geht, Tiere aus dem Portal vorzustellen. Sonst nichts.

Dazu habe ich den Account @THH_Tiere angelegt, das Logo etwas editiert und ein schickes Header-Bild erstellt.

Aber das war nicht mal die halbe Miete, denn das eigentlich Thema sind ja die Tiere.

Zum Glück bietet Twitter da eine sehr einfache Oberfläche um eine Schnittstelle (API) zwischen unserer Datenbank und dem Twitter-Account zu schaffen.

Zuerst habe ich ein Script erstellt, was die Tiere aus unserer Datenbank ausliest und die Daten entsprechend aufbereitet und dann diese Daten via API an Twitter übermittelt.
Wie genau das funktioniert, erkläre ich nun hier:

  1. Mit dem entsprechenden Account auf Twitter einloggen
  2. WICHTIG: Um eine APP erstellen zu können, muss eine Handynummer im Account hinterlegt sein
  3. Die URL https://dev.twitter.com/apps aufrufen
  4. Alle relevanten Felder ausfüllen (eigentlich selbsterklärend, wenn nicht, Frage in Form eines Kommentars hier stellen)
  5. „Create your Twitter application“ anklicken
  6. Die App wird erstellt
  7. Im Reiter „Permissions“ den Zugriff auf „Read and Write“ stellen
  8. Bei „Keys and Access Tokens“ einen Access Token erstellen
  9. ZACK 😀 App fertig

Jetzt kommt der PHP Teil:

Um mit Twitter zu kommunizieren gibt es vorgefertigte PHP Bibliotheken.
Ich habe Codebird-php benutzt.
Die Dateien codebird.php und cacert.pem sind die einzigen Dateien die wir benötigen.
Diese kann man an jedem belieben Ort auf dem Server speichern, es bietet sich jedoch an, sie im gleichen Verzeichnis wie das eigentliche Script abzulegen.

Das PHP Script selbst kann nun entweder einen Tweet aus reinem Text absenden

// require codebird
require_once('/path/to/codebird_php_v2.4.1/codebird.php');

\Codebird\Codebird::setConsumerKey("your_ConsumerKey", "your_ConsumerSecret");
$cb = \Codebird\Codebird::getInstance();
$cb->setToken("your_AccessToken", "your_AccessTokenSecret");

$params = array(
'status' => 'Auto Post on Twitter with PHP http://goo.gl/OZHaQD #php #twitter'
);
$reply = $cb->statuses_update($params);

oder sogar ein Bild enthalten

// require codebird
require_once('/path/to/codebird_php_v2.4.1/codebird.php');

\Codebird\Codebird::setConsumerKey("your_ConsumerKey", "your_ConsumerSecret");
$cb = \Codebird\Codebird::getInstance();
$cb->setToken("your_AccessToken", "your_AccessTokenSecret");

$params = array(
'status' => 'Auto Post on Twitter with PHP http://goo.gl/OZHaQD #php #twitter',
'media[]' => '/path/to/picture.png'
);
$reply = $cb->statuses_updateWithMedia($params);

Das war’s eigentlich schon. Gar nicht so kompliziert.
Wer noch mehr Details oder eine etwas ausführlichere Anleitung (auf englisch) haben will, kann sich gerne das original Tutorial anschauen.

So sieht dann das Ergebnis im Twitter Account aus:

thh_timmy

Dieser Post ist im Rahmen der Clesma-Beitragsreihe
„Senseis‘ Weisheiten“ entstanden.

Comments

No comments yet. Why don’t you start the discussion?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert