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.
P.S.
Probleme? Fragen? Anregungen? Ich helfe jederzeit und gerne – einfach einen Kommentar oder Mail schreiben, die Antwort kommt schnellstmöglich. Unternehmen, die Unterstützung, Beratung oder Schulung bei der API- oder Webprogrammierung, der Social-Media-Entwicklung oder dem Social-Media-Management benötigen finden zudem entsprechende Angebote meiner Firma auf der Website www.Frank-IT-Beratung.de
Das geht leider nicht – Aktuell gibt es für alle „Normalsterblichen“ nur Lesezugriff auf die Google API. (bei Google ist zu lesen „The Google+ API currently provides read-only access to public data“, siehe https://developers.google.com/+/api/). Es gibt schon seit einiger Zeit Gerüchte, dass sich dies ändern könnte, aber aktuell bekommen nur ausgewählte „Partner“ Schreibzugriff!
und wie kann man daten nach google + automatisch posten?