【发布时间】:2015-10-18 01:42:47
【问题描述】:
我正在尝试使用 facebook api 返回用户电子邮件地址。前几天还好好的,今天就停了,不知道是什么原因。
首先我得到访问令牌:
FB.login(response => {
if (response.authResponse) {
resolve(response.authResponse.accessToken);
} else {
reject({
error: 'User cancelled login or did not fully authorize.'
});
}
}, {
scope: 'public_profile,email'
});
然后我尝试获取用户数据
FB.api('/me', {fields: 'first_name,last_name,email'}, function(response) {
console.log(response);
});
但我只获取 first_name 和 last_name 的数据。没有电子邮件。
此外,当我请求权限时,它会给我电子邮件,但正如我所说,电子邮件不会被退回。
FB.api('/me/permissions', function(response) {
console.log(response);
});
有谁知道可能是什么问题?
顺便说一句:我正在使用 API v2.4。
【问题讨论】:
-
首先在 Graph API Explorer 中尝试请求,使用您的应用程序 ID 和您的 JS 使用的相同访问令牌(应该包含在
response对象中,因此将其记录到控制台并从中复制并粘贴那里。)此外,请确保用户在其帐户中设置了有效的电子邮件地址,并且已通过验证。 -
这种情况发生在您的所有用户身上,还是只发生在一个或几个用户身上?就像 CBroe 提到的那样;可能是有人从他们的个人资料中删除了他们的电子邮件。
标签: facebook facebook-graph-api facebook-javascript-sdk