iOS facebook登录响应不包含个人资料数据

时间:2017-03-16 03:18:19

标签: ios react-native facebook-login

我使用react-native-facebook-login为Android和iOS实现了Facebook登录。我按照所有说明操作,它在Android上完美运行。它适用于iOS,但响应不包含profile数据。

Android响应:

declinedPermissions: [],
provider: 'facebook',
profile:{ 
id: '121212121212121212',
name: 'XYZ',
email: 'xyz@gmail.com',
first_name: 'XYZ',
last_name: 'XYZ',
age_range: { min: 21 },
link: 'https://www.facebook.com/app_scoped_user_id/121212121212121212/',
picture: { data: { is_silhouette: false,url: 'https://scontent.xx.fbcdn.net/v/t1.0-1/12/12.jpg?oh=12&oe=12' } },
gender: 'male',
locale: 'en_US',
timezone: 5.5,
updated_time: '2017-02-01T08:16:35+0000',verified: true },
type: 'success',
credentials: { 
permissions: [ 'public_profile', 'contact_email', 'user_friends', 'email' ],
tokenExpirationDate: '2017-05-13T14:56:36.690+0530',
userId: '1212121212121212121',
token:'ababababababababbababababa' }

但在iOS上,响应不完整且没有配置文件数据:

declinedPermissions: [],
credentials: { tokenExpirationDate: '2017-05-14T14:58:09+05:30',
permissions: [ 'email', 'contact_email', 'user_friends', 'public_profile' ],
userId:'12121212121212121',
token:'abababababababababababababa' },
missingPermissions: [] 

Android和iOS的代码相同。我在Xcode中完成了所有配置更改。在iOS上获取配置文件数据还需要做些什么吗?

1 个答案:

答案 0 :(得分:1)

我们需要执行另一个API调用,我们将生成的令牌发送到此API调用中。

fetch('https://graph.facebook.com/v2.5/me?fields=email,name,first_name,last_name,friends&access_token=' + YOUR_GENERATED_TOKEN)
    .then((response) => response.json())
    .then((json) => {
    })
    .catch(() => {
      reject('ERROR')
    })

此调用将为您提供个人资料详情。