2010-11-29 6 views
2

Je suis en train de mettre à jour le statut de ma page (sur ma page). J'ai réussi à l'affichage sur le mur de la page avec le code suivant: de mon compteMettre à jour l'état de la page Facebook à partir de cette page elle-même

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); 

Mais le poste montre que j'ai posté à la page (par exemple: Joe Blogs) où je veux montrer que il a été posté par la page elle-même (c.-à-d.: nom de la page). Ou est-ce que je vais dans le mauvais sens? Devrais-je essayer de changer le statut de la page (si possible)?

Toute aide serait grandement appréciée.

Répondre

1

Après plusieurs jours de tirer mes cheveux sur ce que j'ai semblé avoir résolu ce problème. Je vais vous expliquer:

La raison pour laquelle mes messages provenaient de moi-même au lieu de la page est parce que le message que j'utilisais provenait de mon compte plutôt que de la page. Vous aurez besoin d'un jeton d'accès depuis la page elle-même.

Ce qui est expliqué ici (http://developers.facebook.com/docs/api#auth) sous la rubrique 'usurpation d'identité page'

Voilà comment je l'ai fait.

je tout d'abord donné mon autorisation de compte pour gérer les pages que j'avais en utilisant l'adresse suivante:

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

vous aurez besoin d'insérer client_id avec votre identifiant d'application et insérez une URL de redirection - Vous serez amené à une sorcière page vous demandera d'autoriser (que vous devriez dire oui à :)

puis en php j'accéder les détails de mon compte courant et les pages que j'administre avec le code suivant:

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); 

Cela permettra d'imprimer les détails sur les pages que vous administrez et access_tokens pour ces pages (bingo!)

vous pouvez alors prendre ce/ces access_token (s) et l'insérer dans le code que j'ai publié ci-dessus et whala - il sera poster sur votre page depuis votre page. :)

0

Vous devez ajouter l'UID de votre page de fans à votre appel API.

je crois que ce devrait être quelque chose comme:

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

Si aucun UID est fourni dans l'appel, il est par défaut à l'utilisateur de la session.

+0

Je viens d'essayer ça sans différence. Je suppose que wen vous mentionnez 'votre ID de page' c'est l'identifiant réel que vous pouvez voir dans l'URL lorsque vous visitez cette page? – Marcola

0

pageID doit être défini comme la page que vous essayez de poster à:

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

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

Merci Jamie, Voici comment j'ai structuré mon code (ci-dessus) et ça fonctionne - mais quand il affiche sur ma page, il montre que le message est de moi - où je veux qu'il ressemble à un message qui vient de la page lui-même. ie: PageName: Post. au lieu de MyName: Post. – Marcola

Questions connexes