Tutorial: Google+ API mit PHP Bordmitteln nutzen (Teil 2)

Wie bereits im 1. Teil dieses Tutorials zur Google+ API mit PHP bemerkt ist das Access-Token nur knapp eine Stunde gültig. Nach Ablauf dieser Zeit muss man mit Hilfe des Refresh-Tokens, der Client ID und des Client Secret (vgl. ebenfalls den 1. Teil des Tutorials) ein neues Access-Token generieren.

Ich empfehle folgendes vorgehen: Einfach folgenden Code mittels Cronjob etwa alle 55 Minuten ausführen. Dadurch wird ein neues Access-Token generiert und dieses in einer Datenbank oder (wie im folgenden Beispiel) in einer Textdatei abgelegt:

<?php

// Tutorial: GooglePlus via OAuth mit PHP Bordmitteln
// (Teil 2)  

echo "GooglePlus mit OAuth: Tutorial (Teil 2)";
echo "nn";

// OAuth Tokens
$refreshtoken = "???";
$clientid="???;
$clientsecret="???";

$APIurl = "https://accounts.google.com/o/oauth2/token";

$params="client_id=".$clientid;
$params.="&client_secret=".$clientsecret;
$params.="&refresh_token=".$refreshtoken;
$params.="&grant_type=refresh_token";

// Der Request ist fertig und sieht so aus:
echo "nRequest: $paramsnn";

// mit file_get_contents versenden
$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $params
    )
);

$result = file_get_contents($APIurl, false, stream_context_create($opts));

//ggf. das Result ausgegeben
//echo "nResult:n" . $result;

//json decoden
$daten=json_decode($result);

//ausgeben und speichern
echo "neues Access-Token: ". $daten->access_token;
file_put_contents("accesstoken.txt", $daten->access_token);

echo "n... das war's!n";
?>

In dem Codebeispiel des 1. Teils meines Tutorials ist dann folgende Zeile zu ändern:

// OAuth Token
$accesstoken = file_get_contents("accesstoken.txt");

Ein eigentlich selbstverständlicher Hinweis: “acesstoken.txt” sollte natürlich an einem “sicheren” Ort abgespeichert werden.

Dieser Beitrag wurde unter API, Google API, PHP, Programmierung, Social Networks abgelegt und mit , , , , verschlagwortet. Setzen Sie ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>