FB API Graphique: Affichage sur pied de la page FB d'un autre site
-
25-09-2019 - |
Question
Je crée un CMS pour un site Web, et que vous souhaitez ajouter des fonctionnalités à ajouter quelque chose (par exemple: nouvelles). À cette page du site FB [à un profil d'utilisateur]
J'ai lu la documentation de FB, et ne pouvait savoir que je dois avoir une application FB, qui doit avoir accès à cette page. Ensuite, je serai en mesure d'authentifier de mon site Web comme application et poster le lien sur la page.
J'ai créé Page d'exemple, et un vide Application (pas de code de travail). Ensuite, j'ai Ajout à la page [sur App Page profil il y a un bouton « Ajouter à ma page »]. La demande n'a jamais demandé aucune autorisation, et, en fait, je ne sais pas comment je peux « forcer » mon application de demander des autorisations de la page ...
Maintenant, de mon serveur j'authentification en tant qu'application:
$postArr = Array(
'grant_type'=>'client_credentials',
'scope'=>'publish_stream',
'client_id'=>$appId,
'client_secret'=>$appSecret
);
$access_token = CURL_post('https://graph.facebook.com/oauth/access_token',$postArr,true);
Je reçois un jeton d'accès, et essayer de poster sur le mur de la page:
$postArr = Array(
'access_token'=>$access,
'message'=>"Message!",
'link'=>'http://egern.net/',
'name'=>"TITLE",
'caption'=>"TITLE2!");
$r = CURL_post("https://graph.facebook.com/MYPAGEID/feed",$postArr,true);
Je me l'erreur suivante: (# 200) L'utilisateur n'a pas autorisé l'application à effectuer cette action
Maintenant, je ne comprends pas: comment les page autoriser l'application
?Merci.
La solution
Pour pouvoir publier sur votre page en utilisant le graphique api il y a quelques étapes à faire:
- L'administrateur de la page a besoin pour installer votre application avec la permission
manage_pages
, de référence. Etpublish_stream
pour l'étape 3 - Maintenant interroger la méthode des comptes
->api('/me/accounts?access_token=XXX')
avec le access_token que vous venez d'obtenir récupérera toutes vos pages (comptes) avec leur access_token correspondant
- utilisez la page access_token votre publier "nouvelles" à votre page
->api('/page_id/feed', 'post', $postArr)