FacebookGraphAPIError:(#100)尝试访问节点类型(User)上不存在的字段(user_photos)

vit*_*lym 6 facebook node.js facebook-graph-api

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

我尝试了其他方法来设置权限范围。最初我在

passport.use(new FacebookStrategy({
    profileFields     : ['user_photos', 'user_friends'],
}
Run Code Online (Sandbox Code Playgroud)

然后我将其移至

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

而且,如果我删除user_photos,它还会导致相同的错误,以及user_friends。关于我在做什么错的任何想法吗?我的身份验证脚本的核心受到本教程https://scotch.io/tutorials/easy-node-authentication-facebook的启发

Flo*_*ima 4

“一些 Facebook 集成需要获得批准才能公开使用。”

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

您的应用程序,无论是在生产中还是在测试中,都需要进行审查。

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

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