您好我创建了一个直接发布的API,它在我的Facebook个人资料上运行得很好,当我尝试在我的页面中发布状态时状态正常,帖子在访问者出版物中我该怎么办?
我查看了Facebook Graph API,看起来这是一个错误..你可以绕过使用Curl ..?
ps /我编辑了信息页面ID,应用程序ID,秘密应用程序
在此先感谢您的帮助
史蒂芬妮
public function statutPage(){
$fb = new Facebook([
'app_id' => 'my app id',
'app_secret' => 'my app secret',
'default_graph_version' => 'v2.8',
]);
$pageID='my page id,;
$token='A_VALID_USER_ACCESS_TOKEN';
$attachment = [
'access_token' => $token,
'message' => 'Premier message auto',
'name' => 'Première publication sur facebook',
'caption' => 'Legend sous le tire',
'link' => 'https://www.la-programmation.surleweb-france.fr',
'description' => 'Description du lien',
'picture' => 'https://www.google.fr/images/srpr/logo11w.png'
];
try {
$response = $fb->post('/'.$pageID.'/feed/', $attachment);
} catch(FacebookAuthorizationException $e) {
echo 'Graph retourne une erreur: ' . $e->getMessage();
exit;
} catch(FacebookSDKException $e) {
echo 'Facebook SDK retourne une erreur: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
echo 'Posté su Facebook avec l\'id: ' . $graphNode['id'];
}
答案 0 :(得分:0)
注意下面的apparanlty代码仅适用于“用户个人资料”,不适用于“网页”。如果您想了解如何处理页面的信息,请查看Facebook SDK v5 Post as Page on Wall给出的答案!
但话虽如此,Reading the Facebook PHP Developers Docs用于发布到Graph API 5.0上的Feed,我看到他们正在使用FacebookRequest
对象,然后在其上执行方法execute
。然而,它返回GraphObject
- 似乎deprecated
in versions higher than 4。
他们还提到确保您使用自动发布的帐户拥有publish_actions
权限。
引用来自facebook /feed/ SDK docs的PHP SDK代码(在网址中向下滚动到'发布'),用于Graph API 5.0 - 注意,它返回GraphObject
- 似乎{ {3}}。 - 我已编辑示例,以使用deprecated
in versions higher than 4中提到的 getGraphNode 。
/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
$session,
'POST',
'/me/feed',
array (
'message' => 'This is a test message',
)
);
$response = $request->execute();
$graphNode = $response->getGraphNode();
/* handle the result */
或者他们也提到直接使用 graph api 链接到https://developers.facebook.com/docs/php/FacebookRequest/5.0.0。