2010-12-13 66 views
21

Je travaille sur un projet de publication de données sur les murs des pages Facebook. Je l'ai mis en place une application Facebook et demande actuellement les autorisations suivantes de l'utilisateur lors d'une tentative de poster sur le mur de leur page:Quelles autorisations Facebook permettent de publier sur un mur de pages (pas sur un mur de profil)?

  • publish_stream
  • offline_access
  • manage_pages

Le code actuellement des postes à le mur d'un PROFIL avec succès, mais lorsque vous essayez de publier sur le mur d'une PAGE, l'erreur suivante est renvoyée:

Facebook error: (#200) The user hasn't authorized the application to perform this action.

Encore une fois, je demande des autorisations qui sont apparemment suffisantes pour publier sur le mur d'un profil, mais pas sur le mur d'une page. Quelle (s) autorisation (s) me manque-t-on pour poster sur le mur d'une page? Merci d'avance pour toute aide.

+0

$ Besoin d'informations . Quel protocole (API) utilisez-vous? Avez-vous reçu des jetons d'accès pour les pages? Est-ce que l'utilisateur administrateur de la page que vous essayez de vous connecter? – Lex

+0

J'utilise le protocole OAuth 2.0 pour acquérir les jetons d'accès et j'utilise l'API Graph pour publier les données, en effectuant une requête curl sur "https://graph.facebook.com/".$facebookPageID."/feed" à Déposez les données sur le mur de $ facebookPageID. J'ai reçu des jetons d'accès pour le mur du profil et le mur de la page. La page est gérée par l'utilisateur dont j'ai posté le profil, et Facebook a renvoyé le même jeton d'accès pour les deux pages. Le jeton d'accès a été accordé en se connectant sur le compte de l'administrateur de la page. Merci beaucoup pour votre temps et votre aide. – Sean

Répondre

12

Voici ce que vous faites. Tout d'abord, lisez la documentation sur extended permissions. Notez que «manage_pages dit:

Enables your application to retrieve access_tokens for pages the user administrates. The access tokens can be queried using the "accounts" connection in the Graph API. This permission is only compatible with the Graph API.

Cela signifie que vous devez passer le jeton d'accès de votre utilisateur en fonction de la réponse du

https://graph.facebook.com/$USERID/accounts?access_token=$USER_ACCESS_TOKEN 

pour votre application. Donc, une fois que vous avez votre PAGE D'ACCÈS TOKEN, changer la demande de poster votre message, comme par exemple:

https://graph.facebook.com/$PAGEID/feed 

dans postfields (en utilisant boucle ou quelque), inclure votre message et PAGE_ACCESS_TOKEN

+2

Je devais inclure la permission ** status_update ** (scope = publish_actions, manage_pages, status_update) pour publier sur une page FB. Je n'ai pas pu trouver cette permission dans aucun document facebook. Voir http://stackoverflow.com/q/15796138/516910 Je n'ai pas eu à "aimer" la page. –

+0

Quelle est la dernière mise à jour de ce processus? –

2

Afin de POSTER sur le mur d'un utilisateur, vous pouvez utiliser l'autorisation "publish_stream" mais ce n'est pas le cas avec une page. Afin de POST à ​​un mur d'une page, nous devons d'abord comme la page. (Devenir un fan a maintenant été supprimé par Facebook). La réponse ci-dessus est basée sur mon expérience avec FBConnect (Facebook SDK pour iPhone). Dans mon application, j'ai dû utiliser Like Button pour laisser l'utilisateur d'abord Like the Page et plus tard il pourrait poster sur le mur de PAGE. Je n'ai pas été en mesure de trouver une permission spécifique pour le même qui pourrait permettre directement à l'utilisateur de poster sur le mur de Page après la connexion. Si vous avez des indices, faites-le moi savoir.