Artikelformat

Google+ Profil Informationen abfragen mit PHP und cURL

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.

3 Kommentare

  1. Endlich auch für Google+ eine API, leider bis jetzt ja nur lesend. Weißt du, ob es schon ein OS Projekt für eine G+ API Client Lib für PHP gibt?

    Antworten
    • Das Zend-Framework bietet mit dem Gdata-Package etwas an, aber wohl nicht für G+. Kann aber nur eine Frage der Zeit sein, bis es das dort auch gibt.

      @chiltepin: na klar, aber ist auch interessant mal dahinter zu schauen…

  2. Funktionabel, aber warum nicht das von Google veröffentlichte Paket verwenden?
    Die Jungs stellen doch schon alles was nötig ist bereit.

    Antworten

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.