Google+ hat seine Tore für die Allgemeinheit geöffnet und vielleicht werden sich dann auch ein paar mehr Benutzer als die ganzen „Technikfreaks“ auf die Plattform verirren. Relativ zeitgleich wurde auch die API für Google+ freigeschaltet. Und heute stelle ich eine sehr rudimentäre Klasse vor, die den lesenden Zugriff auf die Profilinformationen ermöglicht.
Google bietet wie so oft einen Rest-Service an, um die Informationen abzufragen. Um die Abfrage überhaupt druchführen zu dürfen ist (z.B.) ein API-Key erforderlich. Diesen erhält man über die Google API Console.
Die Klasse benötigt natürlich genau diesen Key und die Google+ User Id. Daraus wird ein GET-Request formuliert und man erhält als Antwort einen JSON-String. PHP bietet dann mit json_decode
ein Werkzeug an, um diesen String in eine Objekt-Struktur zu verwandeln und schon kann man auf die oben genannten Informationen in einer objektorientierten Art und Weise zugreifen. Die Klasse sieht unkommentiert so aus:
class GooglePlusPeople { const SERVICE_URL = "https://www.googleapis.com/plus/v1/people/"; private $apiKey; function __construct($apikey) { $this->apiKey = $apikey; } public function getPerson($personId) { $url = GooglePlusPeople::SERVICE_URL . $personId . "?key=" . $this->apiKey; return json_decode($this->doGet($url)); } private function doGet($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $return = curl_exec($ch); curl_close($ch); return $return; } }
Hier gibt es noch ein kleines Codebeispiel, wie man die Klasse nutzen kann und welche Informationen man bspw erhält.
$googlePlus = new GooglePlusPeople("<apikey>"); $person = $googlePlus->getPerson("<google+ user id>"); echo "Display Name: " . $person->displayName ."\n"; echo "Image Url: " . $person->image->url . "\n"; echo "About me: " . $person->aboutMe . "\n";
Mit diesen Informationen könnte man zum Beispiel in WordPress die Autor-Informationen anreichern und sie somit auf einem aktuellen Stand halten. Die Klasse bietet dafür die Grundlage. Sicherlich finden sich auch weitere Anwendungen.
Interessant an der API ist natürlich auch noch die Möglichkeit öffentliche Beiträge einer Person abzurufen. Diese Möglichkeit ist hier nicht betrachtet, funktioniert aber ähnlich.