2 Stimmen

Aktualisieren des Facebook-Seitenstatus von der Seite selbst

Ich versuche, den Status meiner Seite zu aktualisieren (von meiner Seite aus). Es ist mir gelungen, mit dem folgenden Code einen Beitrag an die Pinnwand der Seite zu senden:

require_once 'facebook-php-sdk/src/facebook.php';

// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => '...',
  'secret' => '...'
));

$attachment = array(
'access_token' => "...",
'message'=> "Hello World"
);

$facebook->api('/pageId/feed','POST', $attachment);

Aber der Beitrag zeigt, dass ich die Seite von meinem Konto aus gepostet habe (z. B. Joe Blogs), während ich möchte, dass er von der Seite selbst gepostet wird (z. B. Seitenname).

Oder gehe ich die Sache falsch an? Sollte ich versuchen, den Status der Seite zu ändern (falls möglich)?

Für jede Hilfe wären wir Ihnen sehr dankbar.

1voto

Marcola Punkte 31

Nachdem ich mir viele Tage lang die Haare gerauft hatte, schien ich dieses Problem gelöst zu haben. Ich werde erklären:

Der Grund dafür, dass meine Beiträge von mir selbst und nicht von der Seite kamen, ist, dass das access_token, das ich verwendete, von meinem Konto und nicht von der Seite stammte. Sie müssen ein Zugangstoken von der Seite selbst erhalten.

Dies wird hier (http://developers.facebook.com/docs/api#auth) unter 'Page impersonation' erklärt

So habe ich es gemacht.

Ich habe zunächst meinem Konto die Erlaubnis erteilt, die Seiten zu verwalten, die ich über diese URL hatte:

https://graph.facebook.com/oauth/authorize?client_id=...&redirect_uri=...&scope=manage_pages

Sie müssen client_id mit Ihrer App-ID einfügen und eine Umleitungsurl einfügen - Sie werden auf eine Seite weitergeleitet, auf der Sie aufgefordert werden, sich zu autorisieren (was Sie bejahen sollten :)

dann habe ich in php mit folgendem Code auf die Details meines Girokontos und der von mir verwalteten Seiten zugegriffen:

require_once 'facebook-php-sdk/src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => '...',
  'secret' => '...'
));

$attachment2 = array(
'access_token' => "..." //this is my current user access_token
);

$page =  $facebook->api('/me/accounts', 'get', $attachment2);
print_r($page);

Dies gibt Details über die von Ihnen verwalteten Seiten und die access_tokens für diese Seiten aus (Bingo!)

Sie können dann diese(n) access_token(s) nehmen und sie in den Code einfügen, den ich oben veröffentlicht habe, und schwupps - es wird von Ihrer Seite aus auf Ihre Seite gepostet. :)

0voto

Darren Jones Punkte 163

Sie müssen die UID Ihrer Fanseite zu Ihrem Api-Aufruf hinzufügen.

Ich glaube, es sollte in etwa so lauten:

$uid = 'your page id';
$facebook->api('/pageId/feed', 'POST', $attachment, $uid);

Wenn beim Aufruf keine UID angegeben wird, wird standardmäßig der Sitzungsbenutzer verwendet.

0voto

Jamie Punkte 1342

PageID sollte als die Seite definiert werden, auf der Sie einen Beitrag schreiben wollen:

$pageID = "872348971237345"; //obtained from page's url

$status = $facebook->api($pageID.'/feed', 'post', $attachment);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X