当我尝试从我的应用程序通过 facebook 发布内容时,出现以下错误,问题是应用程序没有请求发布操作权限 这是代码

var access_token = 'access_token' 
FB.setAccessToken(access_token); 
 
var body = '2 4 6 8 8.5'; 
FB.api('me/feed', 'post',{ message: body, access_token:access_token}, function (res) { 
if(!res || res.error) { 
console.log(!res ? 'error occurred' : res.error); 
return; 
} 

{ message: '(#200) 用户尚未授权应用程序执行此操作', 类型:'OAuthException', 代码:200 }

我还有一个问题 应该使用什么访问 token 用户的访问 token 、应用程序访问 token 还是什么?

请您参考如下方法:

您需要用户允许publish_actions扩展权限才能允许您的应用发布到Facebook。

请参阅 me/feed 的发布部分引用:“具有publish_actions权限的用户访问 token 可用于发布新帖子”。需要提示用户“您是否可以将此应用发布到 Facebook”并接受此访问 token 才能工作。

请注意,最好在尝试发布之前检查用户的权限,您可以通过查看 me/permissions 端点进行检查:

{ 
  "data": [ 
    { 
      "permission": "installed",  
      "status": "granted" 
    },  
    { 
      "permission": "public_profile",  
      "status": "granted" 
    },  
    { 
      "permission": "publish_actions",  
      "status": "granted" 
    },  
    { 
      "permission": "user_friends",  
      "status": "granted" 
    } 
  ] 
} 

您可以通过运行获取此数据:

FB.api("/me/permissions", function (response) { 
    // data here 
}); 

要请求用户许可,您需要在运行 FB.login 对话框时将“publish_actions”添加到 scope 中:

 FB.login(function(response) { 
   // handle the response 
 }, {scope: 'publish_actions'}); 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!