【问题标题】:How to request pages_show_list permission with Facebook Graph API?如何使用 Facebook Graph API 请求 pages_show_list 权限?
【发布时间】:2019-12-14 01:26:56
【问题描述】:
  1. 我尝试了2种方式,一种在Facebook Developer site找到这个名字的权限请求,我找不到。
  2. 作为第四个参数添加到Facebook Login Button,它没有帮助
<FacebookLogin
appId={fbAppId}
autoLoad={true}
fields="name,email,picture,pages_show_list"
onClick={this.componentClicked}
callback={this.responseFacebook}
/>

你还有什么想法吗?

【问题讨论】:

    标签: facebook facebook-graph-api facebook-login


    【解决方案1】:
    1. Facebook API 是这样工作的, 开发模式:对于开发模式,您可以尝试访问与创建应用程序的帐户相关联的页面。因此,可以访问与该用户关联的页面。您可以使用以下链接检索页面,

    https://developers.facebook.com/docs/graph-api/reference/user/accounts/

    直播模式:在直播模式下,您需要使用开发模式功能创建快照视频并获得“pages_show_list”许可。然后您可以访问与经过身份验证的用户关联的页面详细信息。

    1. 登录按钮可以这样试试,
    
    fb:login-button size="large" scope="public_profile,email,pages_show_list,read_insights,manage_pages" onlogin="checkLoginState();"
    

    它为您提供令牌并使用该令牌来获取与用户帐户关联的页面。

    【讨论】:

    • 嗨!因此,如果应用程序尚未准备好生产/审查,但只有开发人员使用它,我需要在 scope 中传递 pages_show_list。对吗?
    • 我需要将pages_show_list 作为scope 参数传递,而不是fields。 :(
    • 首先您需要使用上面的登录按钮对用户进行身份验证以获得权限 pages_show_list 以获得 access_token。一旦用户完成上述过程,您的应用将获得访问用户数据的权限。为此,您必须在范围部分通过该权限。获得访问令牌后,您可以将其传递给上述 url 中提到的图形 api 端点,以获取与该用户关联的页面。
    【解决方案2】:

    如果您使用的是 Facebook 的 js SDK,则可以选择通过 SDK 函数请求权限。

    FB.login(function(response) {
      // handle the response
    }, {scope: 'public_profile,email,..other persmissionlist'});
    

    注意:-

    1. 仅当您的应用程序处于测试阶段并且 想要在 App Review 中创建权限请求或有 启用了一些权限,但您只需要一些权限。
    2. 仅对测试用户使用此方法。

    参考链接:-

    https://developers.facebook.com/docs/facebook-login/web#re-asking-declined-permissions

    【讨论】:

      猜你喜欢
      • 2015-08-11
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      相关资源
      最近更新 更多