Ida*_*dan 16 facebook-graph-api
我想检索登录的用户所在国家/地区,并将其插入到div中.我成功地使用用户姓名,性别和年龄范围,但有些人为什么我无法检索国家.这是我的代码:
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me?fields=name,email,gender,age_range,picture,country', function (response) {
document.getElementById('status').innerHTML = response.name + ",";
document.getElementById('status1').innerHTML = response.gender + ",";
document.getElementById('status2').innerHTML = (response.age_range.min) + "-" + (response.age_range.min + 1) + " years old";
document.getElementById('status3').innerHTML = response.country;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
小智 50
完成Lix所说的话:
只需调用一次Graph API,即可调用
/me?fields=name,email,gender,age_range,picture,location{location}
实际上,用户对象下的位置对象是一个Page对象,它有一个Location对象.
所以,这会给你这样的东西:
"location": {
"location": {
"city": "Ramat Gan",
"country": "Israel",
"latitude": 32.0833,
"longitude": 34.8167,
"zip": "<<not-applicable>>"
}
}
Run Code Online (Sandbox Code Playgroud)
这可以避免您对Graph API进行双重调用.
Lix*_*Lix 30
我相信你要找的参数location不是国家.
/me?fields=name,email,gender,age_range,picture,location
Run Code Online (Sandbox Code Playgroud)
要查询此数据,您需要用户授予您user_location权限.
这将为您提供用户提交字段的值 - 请注意,此参数可能并不总是填充,因为它取决于用户实际提交此信息 - 如果他们没有提供 - 您将无法检索它.
该对象看起来像这样:
"location": {
"id": "112604772085346",
"name": "Ramat Gan"
},
Run Code Online (Sandbox Code Playgroud)
获得位置对象(很可能是页面)后,您可以查询该对象以检索国家/地区:
/112604772085346?fields=location
Run Code Online (Sandbox Code Playgroud)
这将为您提供更多信息,包括国家.
{
"location": {
"city": "Ramat Gan",
"country": "Israel",
"latitude": 32.0833,
"longitude": 34.8167,
"zip": "<<not-applicable>>"
},
"id": "112604772085346"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18547 次 |
| 最近记录: |