Mit PHP mit Facebook kommunizieren

Für ein neues Projekte möchte ich Daten von Facebook mittels des Graph-API abfragen. Für die Basisinformationen einer Seite braucht man keinen API-Key oder Access-Token. So kann z.B. diese URL von jedem aufgerufen werden. Wie man sieht, werden die Rahmeninformationen meiner Seite in JSON zurückgegeben.

{
   "name": "Klein0r Photography",
   "is_published": true,
   "website": "http://klein0r.de http://kleine-photo.com/ http://www.flickr.com/klein0r http://500px.com/klein0r http://klein0r-de.deviantart.com/ http://klein0r.model-kartei.de",
   "username": "klein0r.photo",
   "about": "http://klein0r.de",
   "location": {
      "city": "Paderborn",
      "country": "Germany",
      "zip": "33102"
   },
   "talking_about_count": 8,
   "category": "Professional services",
   "id": "137463116321666",
   "link": "https://www.facebook.com/klein0r.photo",
   "likes": 263,
   "cover": {
      "cover_id": 405591209508854,
      "source": "http://sphotos-e.ak.fbcdn.net/hphotos-ak-prn1/s720x720/68478_405591209508854_619822397_n.png",
      "offset_y": 0
   }
}

Um weitere Abfragen zu tätigen braucht man einen sog. Access-Token. Dieser kann mit den PHP-Klassen generiert werden, wenn man einen entsprechenden API-Key hat.

Um einen API-Key zu registrieren, muss man sich als Developer bei Facebook registrieren. Damit das funktioniert, muss man seinen Account leider mit einer Handynummer hinterlegen – aber da ich die iPhone-App von Facebook eh nutze, haben die Datensammler meine Nummer sicher eh schon.

Nach der Registrierung muss man eine neue App anlegen. Das geht sehr einfach und mit sehr wenigen Infos – also keine Sorge davor. Damit OpenGraph genutzt werden kann, muss außerdem ein Namespace angegeben werden. Dann kann man die Abfragen leicht im OpenGraph-Explorer testen.

Damit ich mir keinen Access-Token über die Oberfläche generieren muss, erledige ich das per PHP-API. Eine Abfrage um die Likes meiner Seite herauszufinden sieht z.B. so aus: https://graph.facebook.com/klein0r.photo/likes?access_token=<Token aus API>

Dann kann die Entwicklung ja starten!


Beitrag veröffentlicht

in

, , , ,

von

Schlagwörter: