使用Facebook Javascript SDK访问用户位置数据
Access user location data with Facebook Javascript SDK
我使用Facebook Javascript SDK v2.5和Facebook图形API访问用户位置数据(更具体地说是街道、邮政编码和城市),代码如下:
window.fbAsyncInit = function() {
FB.init({
appId : 'my_app_ID',
xfbml : true,
version : 'v2.5'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function logIntoFB(){
FB.login(function(){
testAPI();
}, {scope: 'public_profile,email,user_location'});
function testAPI() {
FB.api('/me?fields=name,first_name,last_name,location',function(response) {
console.log(response);
});
}
}
当用户登录并将响应记录到控制台时,它看起来如下:
Object {name: "MyFirstName MyLastName", first_name: "MyFirstName", last_name: "MyLastName"
, id: "01010101010101"}
没有位置对象,因此我无法获取location.city等。特定facebook帐户的隐私设置没有更改,并且提供了地址,因此信息应该是可检索的。我已经查看了Facebook SDK文档和StackOverflow上的各种问题,但似乎什么都不起作用。其中一些是:"使用fb.api的Facebook用户位置"answers"通过facebook图形API检索facebook用户的邮政编码"
如有任何帮助,我们将不胜感激。
首先确保您在登录期间请求此权限(您可以在应用程序的登录对话框中查看权限列表)。
接下来,您可以获取访问令牌,并使用访问令牌调试器查看它是否包含user_location
权限。如果此权限丢失,则可能意味着:
- 用户在登录过程中拒绝了此权限
- 您的应用程序尚未被批准使用此权限,您正在使用在应用程序中没有角色的用户进行测试。未批准的权限仅适用于应用程序的管理员/开发人员
相关文章:
- 获取用户位置并将坐标保存在数据库中
- Phonegap通过WiFi和移动网络而非GPS获取用户位置
- 谷歌地图:使用自定义标记显示当前用户位置
- 如何在地图上显示用户位置以及我的标记
- 如何使用“地图”在谷歌地图上显示用户位置;onclick”;作用
- 将 JavaScript 与 GWT 结合使用来获取用户位置,但变量不会被传递
- 在表单中提交用户位置
- 如何在脸书 API 中获取用户位置和用户家乡
- 如何使用jQuery或JavaScript从用户位置返回3个最近的位置
- 现在允许 GPS 时获取用户位置
- 如何使用谷歌地图跟踪用户位置和路线
- 如何使用 IP 地址 + 地理位置获取用户位置 Asp.Net.
- 使用Facebook Javascript SDK访问用户位置数据
- 转换特定日期&基于用户位置的时间到utc日期&时间
- 返回离用户位置(地理位置)最近的3个位置,并列出这些位置
- 地理定位api没有给出准确的用户位置
- JS-Can'找不到用户位置
- 为locationpicker.jquery.js设置当前用户位置
- 获取用户位置时,应用程序是科多瓦android应用程序的背景
- Jquery谷歌地图用户位置