我正在与Laravel合作开发一个在Facebook上发布的软件包。我的代码负责获取和存储页面的访问令牌发布除测试之外的链接,使用我创建的测试fb的应用程序正确运行此操作。问题是在Facebook上创建另一个应用程序以将其投入生产,第二个应用程序facebook使用相同的配置创建它,但是当发布时给出了以下错误:(#200)用户hasn&t; t授权应用程序执行此操作。
这是我用于测试的代码段。
public function getTest(){
//$accessToken = new AccessToken($this->getParam('TOKEN'));
try {
$page_post = (new FacebookRequest($this->session, 'POST', '/'.$this->getParam('PAGE_ID').'/feed', array(
'access_token' => $this->getParam('TOKEN'),
'link' => 'link',
'description' => 'Hola mundo desde laravel',
'picture' => 'link/img.png',
'message' => 'Messge',
) ))->execute()->getGraphObject()->asArray();
// return post_id
print_r( $page_post );
} catch(FacebookSDKException $e) {
var_dump($this->getParam('TOKEN'));
echo $e->getMessage();
// var_dump($e);
exit;
}
至于申请的授权是正确的,即使您进入查看用户应用程序,请参阅2(工作,但没有),两者都接受相同的权限。
答案 0 :(得分:0)
修正了,我没有许可证:'publish_pages'
$params = array(
'scope' => 'manage_pages','publish_actions','publish_stream','publish_pages'
);