【问题标题】:FacebookGraphAPIError: (#100) Tried accessing nonexisting field (user_photos) on node type (User)FacebookGraphAPIError: (#100) 尝试访问节点类型 (User) 上不存在的字段 (user_photos)
【发布时间】:2015-04-21 10:12:59
【问题描述】:

我正在使用 passport.js 进行 Facebook 身份验证,最近我开始收到此错误。完整的错误信息如下所示:

FacebookGraphAPIError: (#100) Tried accessing nonexisting field (user_photos) on node type 
(User) at D:\app\node_modules\passport-facebook\lib\strategy.js:167:21 at passBackControl 
(D:\app\node_modules\passport-facebook\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:124:9) 
at IncomingMessage.<anonymous> (D:\app\node_modules\passport-facebook\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:143:7) 
at IncomingMessage.emit (events.js:129:20) at _stream_readable.js:908:16 at 
process._tickCallback (node.js:355:11)

我尝试了不同的方法来设置权限范围。最初我在

中声明它
passport.use(new FacebookStrategy({
    profileFields     : ['user_photos', 'user_friends'],
}

然后我把它移到

app.get('/auth/facebook', passport.authenticate('facebook', 
{ scope : ['email, public_profile, user_photos, user_friends'] }));

如果我删除 user_photos,它仍然会导致同样的错误,以及 user_friends。关于我做错了什么的任何想法?我的身份验证脚本的核心灵感来自本教程https://scotch.io/tutorials/easy-node-authentication-facebook

【问题讨论】:

  • 可能会受到 fb api 更改的影响..
  • 你有什么运气吗?我无法让“user_friends”通过。 'email' 或 'public_profile' 没问题。

标签: node.js facebook facebook-graph-api


【解决方案1】:

除了公开个人资料和电子邮件之外,其他权限要求您提交应用以供批准。 所以你要做的是:

  1. 转到应用仪表板。
  2. 转到“角色”并选择“测试用户”。
  3. 创建一个测试用户(允许您创建多个)并授予他们您计划请求的所有权限。

  4. 在“应用审核”部分,确保应用设置为开发模式\

  5. 选择您希望获得批准的权限。

现在,在为这些权限执行截屏时,请使用测试用户....使用该用户已授予的权限,您可以顺利执行截屏。

在您的应用获得批准后,您可以将应用模式切换为上线。

【讨论】:

    【解决方案2】:

    “某些 Facebook 集成需要在公开使用之前获得批准。”

    https://developers.facebook.com/docs/facebook-login/permissions/

    您的应用(无论是在生产中还是在测试中)都需要进行审核。

    https://developers.facebook.com/docs/facebook-login/review/how-to-submit

    在 Facebook 审核和批准之前,您的应用只能使用用户的公开个人资料和他/她的电子邮件。

    【讨论】:

      猜你喜欢
      • 2017-01-09
      • 2018-07-20
      • 1970-01-01
      • 2020-11-19
      • 2017-07-13
      • 1970-01-01
      • 2019-06-11
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多