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

fb.com/mySocialWebDevBlog
@Simon_A_Frank
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?