Cordova / Phonegap facebook插件必须使用活动访问令牌来查询信息

时间:2015-03-17 15:15:43

标签: android facebook cordova oauth

我正在使用https://github.com/Wizcorp/phonegap-facebook-plugin将我的cordova Android应用程序连接到Facebook 我可以登录:
facebookConnectPlugin.login(["email"], fbLoginSuccess, function (error) { alert("ERROR:" + JSON.stringify(error)); } ); ,注销甚至致电facebookConnectPlugin.getLoginStatus并获取:

  • 用户ID
  • 的accessToken
  • expiresIn
  • SIG
  • 状态

但是当FB.api('/me', function(response){...})被调用时,我会收到 {error: { message: An active access token must be used to query information about the current user, type: OAuthException, code: 2500 } }
此外,这仅在构建应用程序时发生,而不是在浏览器中进行测试。

2 个答案:

答案 0 :(得分:0)

通过手动为FB.api调用令牌来解决问题: FB.api('/me?access_token='+userdata.authResponse.accessToken, function(response) {... 其中userdatafacebookConnectPlugin.getLoginStatus的回复 我只是不明白为什么它不会像在浏览器中那样在Android应用中自动提供令牌。

答案 1 :(得分:0)

使用apiString

发送访问令牌和数据检索字段
  const fields = ['email', 'first_name', 'last_name', 'gender', 'birthday', 'picture.type(large)'];
  const apiString = `me?access_token=${accessToken}&fields=${fields.join(',')}`;