登录权限不起作用

时间:2015-05-06 05:36:20

标签: javascript facebook login permissions facebook-javascript-sdk

  • 我使用Javascript SDK脚本进行FB登录,并且通过此登录我想使用用户公共自己的共享帖子。
  • 因此我使用javascript代码下面的代码:

    FB.login(function(response)
                {
                    if (response.authResponse)
                    {
                        console.log('Welcome!');
                    }
                    else
                    {
                        console.log('User cancelled login');
                    }
                }, {scope:'publish_stream'});
    
  • 在上面的代码中,我会给出scope:'publish_stream',但当任何用户登录时,只获得profile_info的许可,那么我不明白的问题是什么,请帮帮我

  • 基本上我会给scope所以当用户登录时必须询问但在我的情况下,其行为不是正常的病态放置在用户登录权限页面下面。 enter image description here

  • 请指导我更改代码或以其他任何方式提供我,谢谢

1 个答案:

答案 0 :(得分:1)

根据Facebook developers page,这是做到这一点的方法:

FB.login(function(response) {
  if (response.status === 'connected') {
    // Logged into your app and Facebook.
  } else if (response.status === 'not_authorized') {
    // The person is logged into Facebook, but not your app.
  } else {
    // The person is not logged into Facebook, so we're not sure if
    // they are logged into this app or not.
  }
});

或者您可以通过以下方式检查登录状态:

FB.getLoginStatus(function(response) {
    statusChangeCallback(response);
});

更新1:您可以在此处看到full list,其中包含您可以在范围内设置的所有权限。

您可以看到您需要使用read_stream而不是publish_stream我认为这是您的问题。

更新2:我找到了这个(reference):

  

Facebook曾经拥有一个名为publish_stream的权限。 publish_actions在所有情况下都替换它。此权限也取代了photo_upload。

因此,您可以使用publish_actions代替publish_stream,因为现在已弃用。

https://developers.facebook.com/docs/facebook-login/permissions/v2.0#reference-extended-publish

我希望这能帮助你进一步