gpt4 book ai didi

PHP Facebook API 在页面墙上发布

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:08 25 4
gpt4 key购买 nike

我知道,这个问题被问了上百次,但给出的解决方案都不适合我。我试图在当前用户拥有的每个页面的墙上张贴。因此,我首先获得了 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"] );
}
}

关于PHP Facebook API 在页面墙上发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com