我在很多地方读到 Facebook 在 2018 年左右做了一些改变,阻止人们使用 PHP 作为页面发布。我研究了一段时间,看看我是否仍然可以在 Facebook 页面上自动发布,如果我是它的管理员。
我的资料来源:Facebook Graph API v3.1 Access Token Permission Limitations For Developers和https://adamboother.com/blog/automatically-posting-to-a-facebook-page-using-the-facebook-sdk-v5-for- php-facebook-api/
我是唯一会使用这个自动发布应用程序的人,我是我将发布这些链接的页面的管理员。
这是我尝试过的代码:
$fb = new Facebook\Facebook([
'app_id' => 'app_id',
'app_secret' => 'app_secret',
'default_graph_version' => 'v2.2',
]);
$pageAccessToken = "page_access_token";
$linkData = [
'link' => 'some_link',
'message' => 'some_message'
];
try {
$response = $fb->post('/me/feed', $linkData, $pageAccessToken);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: '.$e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: '.$e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
运行上面的代码,我得到以下错误:
图表返回错误:(#200)如果发布到组,需要在组中安装应用程序,并且 \ 使用 user token 的 publish_to_groups 权限,或者使用 page token 的 manage_pages \ 和 publish_pages 权限;如果发布到页面,\ 需要 manage_pages 和 publish_pages 作为具有 \ 足够管理权限的管理员。
现在,我是该页面的管理员。我也选择manage_pages了publish_pages权限。那么,为什么我会收到此错误?
天涯尽头无女友
MMTTMM
心有法竹