Facebook 获得;权限发布“操作不可用”;当我使用发布页面时

Facebook 获得;权限发布“操作不可用”;当我使用发布页面时,facebook,facebook-php-sdk,Facebook,Facebook Php Sdk,我一直试图使用facebook php sdk在我的facebook页面上发布帖子,但我得到了错误“(#200)发布操作的权限不可用”,奇怪的是,我要求的是“页面显示列表、管理页面、发布页面和用户照片”权限。我一直在寻找原因,但什么也找不到 我就是这样要求他们的: $loginUrl = $helper->getLoginUrl( 'http://localhost:8080/fbTest/fb-callback.php', array('scope' => 'pages_show_

我一直试图使用facebook php sdk在我的facebook页面上发布帖子,但我得到了错误“(#200)发布操作的权限不可用”,奇怪的是,我要求的是“页面显示列表、管理页面、发布页面和用户照片”权限。我一直在寻找原因,但什么也找不到

我就是这样要求他们的:

$loginUrl = $helper->getLoginUrl(
'http://localhost:8080/fbTest/fb-callback.php',
array('scope' => 'pages_show_list, manage_pages, publish_pages, user_photos'));
这是我的帖子:

$res = $fb->post($pageID . '/photos/', $data, $accessToken);
$post = $res->getGraphObject();

我对这方面很陌生,我已经尽可能多地阅读了文档,但我找不到解决方案。我的应用程序还没有发布,我还在用它进行测试,我使用了我的管理员帐户和我制作的一个测试用户…(作为记录,我使用javascript sdk制作了帖子,我在那里没有问题,我制作了帖子)。有什么问题吗?我基本上使用了facebook提供的登录示例代码以及我在这里使用的大多数东西。谢谢

解决方案:
正如强大的WizKid所说,我使用的是一个用户令牌,而不是页面令牌。

因此,为了获得我的页面访问令牌,我使用了以下代码:

$accessToken = $helper->getAccessToken();
$longLivedToken = $fb->getOAuth2Client()->getLongLivedAccessToken($accessToken);
$fb->setDefaultAccessToken($longLivedToken);
$response = $fb->sendRequest('GET', $pageID, ['fields' => 'access_token']) - 
>getDecodedBody();
$foreverPageAccessToken = $response['access_token'];
$fb->setDefaultAccessToken($foreverPageAccessToken);
然后我提出这样的要求:

// POST request.
$res = $fb->post($pageID . '/photos/', $data, $foreverPageAccessToken);
$post = $res->getGraphObject();

这对我来说很好

我在如何获取页面访问令牌方面找到的来源:

我猜您正在使用用户访问令牌。使用页面访问令牌我使用下一行获取访问令牌:$accessToken=$helper->getAccessToken();不确定这个是否能给我一个页面或用户令牌,这可能是问题所在吗?