编程语言
首页 > 编程语言> > php-错误(#200)用户未授权应用程序执行此操作

php-错误(#200)用户未授权应用程序执行此操作

作者:互联网

我想使用PHP将消息发送到Facebook页面,但是出现此错误

(#200) The user hasn’t authorized the application to perform this action.

我是Facebook页面和Facebook应用程序的管理员.

我想我有这个问题,因为我没有很好的权限,但是我不知道该怎么办.

我在网上搜索了很多具有相同问题的页面,但找不到答案.

他们是我的权限.

array(1) {
         ["data"]=> array(3) {
                     [0]=> array(2) {
                         ["permission"]=> string(9) "installed"
                         ["status"]=> string(7) "granted"
                         }
                     [1]=> array(2) {
                         ["permission"]=> string(14)"public_profile"
                         ["status"]=> string(7) "granted" 
                     }
                    [2]=> array(2) {
                         ["permission"]=> string(12) "manage_pages"
                         ["status"]=> string(7) "granted" } } } 

这是我的代码.

$permissions = 'manage_pages, publish_stream';
$fb = new Facebook(array('appId'=>$appId, 'secret'=>$secret));

 $fbuser = $fb->getUser();
 if($fbuser){
    $permissions = $fb->api('/me/permissions');
    if(isset($_POST['msg']) and $_POST['msg']!=''){
        try{
            $message = array(
                'access_token' => $token,
                'message' => $_POST['msg']
            );
         //   $posturl = '/'.$_POST['pageid'].'/feed';
            $posturl = '/me/feed';
            $result = $fb->api($posturl,'POST',$message);
            if($result){
                echo 'Successfully posted to Facebook Wall...';
            }
        }catch(FacebookApiException $e){
            echo $e->getMessage();
        }
    }

}else{
    $fbloginurl = $fb->getLoginUrl(array('redirect-uri'=>$returnurl, 'scope'=>$permissions));
    echo '<a href="'.$fbloginurl.'">Login with Facebook</a>';
 }

解决方法:

您可以在响应中看到未授予发布权限.

原因是不建议使用publish_stream.请改用publish_actions.

标签:php,facebook,facebook-graph-api,facebook-php-sdk
来源: https://codeday.me/bug/20191010/1887409.html