Facebook – Post an Fanpage – Wall

Wenn Ihr von eurer Webseite aus auf eine Fanpage-Wall posten wollt, dann habt Ihr hier ein kleines Tutorial:

1. Bei Facebook anmelden (http://www.facebook.com)

2. Eine neue Facebook-App erstellen (http://www.facebook.com/developers/createapp.php)

3. Der App muss nun ein Name gegeben werden und die Sicherheitsabfrage muss ausgefüllt werden

4. Wichtig sind jetzt die Anwendungs ID (Application ID) und der API-Schlüssen (API-Key)

5. In eurem PHP-Code müsst Ihr jetzt folgende Codes einfügen


5. So als nächstes solltet Ihr noch ein Snippet schreiben das checkt ob Ihr bei Facebook eingeloggt seid:



      Your user ID is 
    
      
    

6. Damit der FB-Login-Button anständig gerendert wird muss in euren HTML-Quelltext direkt nach <body>:


7. Ihr braucht eine Funktion die für euch den Request an die Graph-Api von Facebook stellt:


function makeRequest($url, $params, $ch=null) {
if (!$ch) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
}

$opts = array(
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT        => 60,
CURLOPT_USERAGENT      => 'facebook-php-2.0',
);
$opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&');
$opts[CURLOPT_URL] = $url;
print_r($opts);
curl_setopt_array($ch, $opts);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}

8. So und als letztes fehlt noch der Aufruf der den Request abschickt und die Daten an Facebook übermittelt.


$params['message'] = 'This is a test';
		$params['access_token']=$cookie['access_token'];
		$url = 'https://graph.facebook.com/XXXXXXXXXXXXX/feed'; #XXXXXXXX = ID der Fanpage
		//print_r(makeRequest($url, $params));
	//	print_r(json_decode(file_get_contents($url)));
		print_r(makeRequest($url, $params));

Ich werde das wenn ich mal ein bischen Ruhe habe, in eine schöne downloadbare Version hacken. Bis dahin hoffe ich, dass ihr mit dem Code was anfangen könnt.

4 Antworten auf „Facebook – Post an Fanpage – Wall“

  1. Hi Jan,

    danke für die Anleitung.
    Die Funktion makeRequest ist allerdings nicht vollständig:

    function makeRequest($url, $params, $ch=null) {
    if (!$ch) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    }
    … hier müsste noch was kommen.

    Cheerio
    Volker

  2. Hallo,

    postet man nach dem beschriebenen Tutorial unter dem eigenen Namen auf der Fanpage oder als Admin unter dem Namen der Fanpage selbst?

    Ich versuche gerade den zweiten Fall hinzubekommen, aber mein Posting wird immer unter meinem Namen statt unter dem Namen der Fanpage geschrieben. Gibt es einen Tipp, wie ich das Problem lösen kann?

    Weitere Infos gerne per E-Mail.

    Viele Grüße

  3. Ich glaube dazu musst du auf Facebook bescheid geben wie du auftreten möchtest. Unter Konto | Facebook als Seite verwenden

    Hilft Dir das?

    Gruß Jan

  4. Hallo Jan,
    kannst du mir helfen. Ich würde gerne einfach nur eine Status Message auf unsere Fanpage-Pinnwand schreiben, sodass sie alle Leute sehen. Mit dem Code oben klappt das nicht.
    Kannst du helfen?

Kommentare sind geschlossen.