我一直在寻找一个疯狂的解决方案,但没有发现什么可能是错误的。我想做的是把我网站上的文章分享给我所有的Facebook页面。
在我的私人Facebook墙上分享文章是没有问题的。它适用于下面的代码"//张贴到配置文件"require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'App ID',
'secret' => 'Secret Code'
));
if($facebook->getUser() == 0){
$loginUrl = $facebook->getLoginUrl(array(
scope => 'manage_pages,publish_actions'
));
echo "<a href = '$loginUrl'>Login with facebook</a>";
}
else{
//posting to pages
$pages = $facebook->api('me/accounts');
$id = $pages[data][0][id];
$token = $pages[data][0][access_token];
$api = $facebook->api($id . '', 'POST', array(
access_token => $token,
link => 'http://viralprinsen.se/post/se-arets-basta-overraskning-sa-avslojar-mannen-att-frun-ar-gravid',
message => 'Se årets bästa överraskning: Så avslöjar mannen att frun är gravid.'
));
//posting to profile
$api = $facebook->api('me/feed', 'POST', array(
link => 'http://viralprinsen.se/post/se-arets-basta-overraskning-sa-avslojar-mannen-att-frun-ar-gravid',
message => 'Se årets bästa överraskning: Så avslöjar mannen att frun är gravid.'
));
//displaying logout link
echo
"<br><a href = 'logout.php'>Logout</a>";
}
您发送到错误的端点:
$facebook->api($id . '', 'POST', array(...));
你应该发布到/feed
边缘:
$facebook->api($id . '/feed', 'POST', array(...));
我建议你检查最新的SDK示例,在try/catch
中封装调用并显示所有错误…等等(参见此)。
此外,我会使用Graph API Explorer来了解Facebook平台对每个特定端点的响应结构,您想要工作这个(例如/me/accounts
…等)