FB范围publish_actions没有问

时间:2016-02-09 12:24:22

标签: facebook facebook-javascript-sdk

在我们的应用程序中,我们可以选择在Facebook上分享活动,之后用户可获得小额奖励。最近几天,这个功能已停止为我们的一些用户工作,因为我们没有得到" post_id"我们需要确定用户是否应获得奖励。

我们发现当用户没有向我们提供" publish_actions"对。因此我们添加了对此权限的检查,我们尝试以这种方式请求:

FB.api('/me/permissions/publish_actions', function(response) {
  // pokud mame pravo na zverejneni obsahu hned postujeme
  if (response.data && response.data[0] && response.data[0]['status'] === 'granted') {
    postShareReport();
  } else {
    // pokud nemame, tak si zkusime vyzadat pravo
    FB.login(function(response) {
       if (response.authResponse) {
         // pokud nam ho dal, tak postujeme
         if(response.authResponse.grantedScopes && response.authResponse.grantedScopes.indexOf('publish_actions') !== -1) {
            postShareReport();
         }
       }                  
     }, {scope: "email,publish_actions",return_scopes: true, auth_type: 'rerequest'});          
  }
});

然而,在这里我们遇到了另一个问题。某些用户不会要求发布 - 权利,即使他们没有给我们这个权利。但是,登录过程确实会通过。用户没有收到窗口,可以选择向我们提供此权利。

谢谢 亲切的问候

1 个答案:

答案 0 :(得分:0)

大多数权限都需要经过Facebook审核:https://developers.facebook.com/docs/facebook-login/review

如果不进行审核,publish_actions仅适用于在App中具有角色的用户。在授权过程中,不会要求用户获得许可。

顺便说一句,如果用户真正分享某些内容是故意的,则不会获得帖子ID或信息,因为不允许以任何方式奖励用户进行共享。您需要在创建任何应用程序之前阅读平台策略,该规则已存在多年:

  

只有激励用户登录您的应用,才能进入促销活动   您应用的页面,或在某个地方办理登机手续。不要激励其他人   动作。

来源:https://developers.facebook.com/policy/