![](/img/trans.png)
[英]Facebook PHP Api cUrl auto post to page's wall (not profile wall)
[英]PHP Facebook API Post on page's wall
我知道,这个问题被问过了几百次,但是给定的解决方案都不适合我。 我正试图在当前用户拥有的每个页面的墙上张贴。 所以,我首先获得了publish_actions,read_stream,manage_pages和offline_access的权限。 然后我通过/ me / permissions检查用户是否真的授予了这些权限。
然后,如果用户是管理员,我尝试获取用户的所有页面并在页面墙上发布:
$accounts = $facebook->api("/me/accounts", "GET", array("access_token"=>$facebook->getAccessToken()));
$data = $accounts["data"];
foreach ($data as $page)
{
if (isset($page["perms"]) && in_array("CREATE_CONTENT", $page["perms"])))
{
$facebook->api("/".$page["id"]."/feed", "POST", array("link"=>$link, "access_token"=>$page["access_token"]));
}
}
但是,使用众所周知的错误消息,在页面的墙上发布失败
未捕获OAuthException:(#200)用户尚未授权应用程序执行此操作
有任何想法吗? 哪里是我的错?
如果您可以通过Graph API Explorer或其中一个页面的cURL进行相同的调用,那么您的逻辑是正确的。 所以我会在page/id
调用上放置一个try / catch来查看特定页面是否在弄乱循环。
try {
$facebook->api("/".$page["id"]."/feed", "POST", array("link"=>$link, "access_token"=>$page["access_token"]));
} catch (FacebookApiException $e) {
error_log($e . " for: " .$page["id"] );
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.