在我们的应用程序中,我们可以选择在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'});
}
});
然而,在这里我们遇到了另一个问题。某些用户不会要求发布 - 权利,即使他们没有给我们这个权利。但是,登录过程确实会通过。用户没有收到窗口,可以选择向我们提供此权利。
谢谢 亲切的问候
答案 0 :(得分:0)
大多数权限都需要经过Facebook审核:https://developers.facebook.com/docs/facebook-login/review
如果不进行审核,publish_actions
仅适用于在App中具有角色的用户。在授权过程中,不会要求用户获得许可。
顺便说一句,如果用户真正分享某些内容是故意的,则不会获得帖子ID或信息,因为不允许以任何方式奖励用户进行共享。您需要在创建任何应用程序之前阅读平台策略,该规则已存在多年:
只有激励用户登录您的应用,才能进入促销活动 您应用的页面,或在某个地方办理登机手续。不要激励其他人 动作。