1

我最近才开始使用护照库,完全是菜鸟。但是,当我使用我新创建的 facebook 应用程序登录时,我收到以下错误:

500 FacebookGraphAPIError: (#12) 用户名​​已弃用 v2.0 及更高版本

at /app/node_modules/passport-facebook/lib/strategy.js:167:21
at passBackControl (/app/node_modules/passport-facebook/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:124:9)
at IncomingMessage. (/app/node_modules/passport-facebook/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:143:7)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:929:16
at process._tickCallback (node.js:419:13)

一些研究表明,facebook 的开放图形 api 不再支持“用户名”字段。但是,护照库似乎不支持第 2 版。

4

1 回答 1

1

Facebook Graph API 的当前最新版本是 v2.2。您可以通过覆盖选项来修复 passport-facebook(它使用 v1.0):

passport.use(new FacebookStrategy({

    clientID        : 'XXX',
    clientSecret    : 'XXX',
    callbackURL     : 'XXX',
    authorizationURL: 'https://www.facebook.com/v2.2/dialog/oauth',
    tokenURL: 'https://graph.facebook.com/v2.2/oauth/access_token',
    profileURL: 'https://graph.facebook.com/v2.2/me'

},
于 2015-01-05T17:51:05.740 回答