Schritt 1: Anforderung der Temporary Credentials
Als Erstes müssen die Temporary Credentials bei Twitter angefordert werden. Das passiert im Skript redirect.php, in dem zuerst ein neues TwitterOAuth-Objekt erzeugt wird:
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
Mit diesem Objekt werden dann die Temporary Credentials angefordert:
$temporary_credentials = $connection->getRequestToken(OAUTH_CALLBACK);
Da die Temporary Credentials noch benötigt werden, werden sie in der Session gespeichert:
$_SESSION['oauth_token'] = $temporary_credentials['oauth_token']; $_SESSION['oauth_token_secret'] = $temporary_credentials['oauth_token_secret'];
Schritt 2: Autorisierung durch den Benutzer
Nun kann der Benutzer zur Autorisierung der Temporary Credentials zu Twitter geschickt werden:
$url = $connection->getAuthorizeURL($_SESSION['oauth_token']); header('Location: '.$url);
Der Autorisierungs-URL entspricht folgendem Muster:
https://twitter.com/oauth/authenticate?oauth_token=xyz123
Bei Bedarf können Sie hier weitere Parameter anhängen, die Twitter dann nach der Autorisierung mit zurückliefert, zum Beispiel:
https://twitter.com/oauth/authenticate?oauth_token=xyz123&etwas=wichtiges
Der Benutzer wird nun zu Twitter weitergeleitet, wo er dem Wunsch nach Autorisierung zustimmt (oder auch nicht). Nach erteilter Autorisierung wird der Benutzer von Twitter zum Callback URL, im Beispiel zum Skript callback.php, weitergeleitet.
Schritt 3: Anforderung der Token Credentials
Jetzt müssen die Temporary Credentials in die dauerhaften Token Credentials umgetauscht werden. Dazu wird in callback.php mit den Temporary Credentials ein neues TwitterOAuth-Objekt erzeugt, mit dem dann die Token Credentials angefordert werden können:
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); $token_credentials = $connection->getAccessToken($_REQUEST['oauth_verifier']);
In $_REQUEST[‚oauth_verifier‘] steht der von Twitter erzeugte Verification-Code, an dem Twitter die erfolgreiche Autorisierung erkennt. Die Token Credentials müssen nur noch gespeichert werden, im Beispiel in der Session:
$_SESSION['token_credentials'] = $token_credentials;
Schritt 4: Es gibt keinen Schritt 4
Mit den Token Credentials wird dann in index.php wieder ein neues TwitterOAuth-Objekt erzeugt, über das (endlich/schon) auf das Twitter API zugegriffen werden kann:
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $token_credentials['oauth_token'], $token_credentials['oauth_token_secret']);
Die Autorisierung wurde erfolgreich durchgeführt, und als erster Test können die Informationen über das Benutzerkonto abgefragt werden:
$antwort = $connection->get('account/verify_credentials'); print_r($antwort);
Das Ergebnis könnte wie in Listing 1 aussehen. Sie können nun beispielsweise einen Tweet absenden:
$temporary_credentials = $connection->getRequestToken(OAUTH_CALLBACK);
Hinterlasse einen Kommentar
Hinterlasse den ersten Kommentar!