Facebook PHP SDK 4.0 – Auf eigene Facebook Seite posten

Um mit dem PHP SDK in Version 4 von Facebook auf eine eigene Facebook Seite zu posten benötigt man ein paar Dinge bevor man loslegen kann. Wir benötigen nämlich eine APP ID und den dazugehörigen APP Secret sowie einen Long Life Access Token.

Vorbereitung

Unter https://developers.facebook.com/ registrieren wir uns zuerst eine App. Hierbei kann man die meisten Einstellungen einfach so belassen wie sie sind. Eventuell kann man die App noch auf die Server IP limitieren. Einfach mal am besten alle Einstellungen durchschauen. Auf der Übersichtsseite der App findet man nun die APP ID sowie den APP Secret aká Anwendungs-Geheimcode.

Beides notieren wir uns. Nun müssen wir uns mit unserem eigenen Facebook Account einen Access Token generieren. Hierfür rufen wir folgende URL auf:

https://developers.facebook.com/tools/explorer/

Hierbei wählen wir unsere neu erstellte App aus dem Dropdown aus. Nun klicken wir auf „Zugriffschlüssel anfordern“. Nun öffnet sich ein PopUp Fenster dort aktivieren wir folgende Hacken: „manage_pages“, „publish_actions“ und „user_events“.

Wir bestätigen das Feld und wir erhalten unseren Client Access Token, dies ist aber noch nicht der korrekte, wir benötigen noch 2 weitere.

Wir führen direkt ohne Veränderungen nun folgenden GET Request über dieses Tool aus:

/v2.0/me/accounts/

Nun werden alle eigenen Facebook Seiten als JSON Objekt aufgelistet. Wir suchen die entsprechende Seite raus und nehmen die „id“ sowie den „access_token“.

Beispiel Ausgabe des /me/accounts Befehles.
Beispiel Ausgabe des /me/accounts Befehles.

Nun meint man bereits loslegen zu können jedoch wird man mit diesem Access Token nicht lange Freude haben da dieser nur eine Stunde gültig ist. Wir benötigen daher unseren letzten Access Token. Diesen fordern wir mit folgender URL an:

https://graph.facebook.com/oauth/access_token?client_id=[APP ID]&client_secret=[APP Secret]&grant_type=fb_exchange_token&fb_exchange_token=[Access Token der Facebook Seite]

Nun erhalten wir folge Ausgabe:

access_token=CAAEcpUOQd74BACi2CRNLtr1vi41VlJFundsoweiter&expires=5123800

Diesen Access Token notieren wir uns, die beiden vorherigen können wir vergessen. Diese sind eh nur eine Stunde lang gültig und waren nur dafür da um den letzten Token zu erhalten.

Bei dem expires handelt es sich um die Lebenszeit des Tokens in Sekunden. Ich kann euch das rechnen ersparen es sind exakt 2 Monate. Das heißt euer Script benötigt einen neuen Access Token alle 2 Monate. Dies kann man natürlich automatisieren. Der eben erhaltene Access Token kann dafür genutzt werden um ebenfalls einen weiteren zu generieren.

Um nun auf die Seite zu posten gebe ich euch ein einfaches PHP Sample Script. Es setzt die Installation des SDKs von Facebook voraus. Das SDK erhaltet ihr hier.

Beispiel Code

Wenn alles korrekt funktioniert hat erhaltet ihr eine ID des neuen Beitrages zurück. Diese ID kann z.B. wieder zum löschen verwendet werden.

5 Gedanken zu „Facebook PHP SDK 4.0 – Auf eigene Facebook Seite posten

  1. Hallo,

    danke für diesen sehr guten Beitrag (hab eine ganze Weile im Netz gesucht).

    „Der eben erhaltene Access Token kann dafür genutzt werden um ebenfalls einen weiteren zu generieren.“ -> Für diese Info wäre ich sehr dankbar!

      1. Wenn ich auf diese Art ein neues Access Token erstelle, übernimmt es die expire-Dauer des alten Tokens.
        Darf man es erst kurz vor dem Auslaufen erneuern?

        Vielen Dank

  2. Hey, ich bekomme beim Absenden des Scriptes zum Posten auf die FB Site folgende Fehlermeldung: The user hasn’t authorized the application to perform this action.

    Habe der APP aber alle Berechtigungen erteilt die oben ausgelistet waren. Muss man v.l. jetzt noch eine weitere Berechtigung hinzufügen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.