繁体   English   中英

使用facebook javascript sdk获取用户的位置

[英]Get user's location using facebook javascript sdk

我正在使用下面的代码来获取用户的位置,但是,它不返回位置

FB.api('/me?fields=picture,location', function(res) {
    console.log(res); // no location
});

知道我做错了什么以及如何获得用户位置?

更新

使用Graph API Explorer时 ,它确实可以提供用户位置,但是使用上面的代码则不能。

更新2

知道如何使用Facebook JavaScript SDK获取用户位置吗?

如果它在API资源管理器中有效,但在您的应用程序中无效,则只有一个原因:您未使用user_location权限进行授权。 在API Explorer中,您只需在弹出窗口中选择它即可。 在您的代码中,您必须使用FB.login专门要求它:

FB.login(function(response) {
    console.log(response);
    if (response.authResponse) {
        //user just authorized your app
        FB.api('/me?fields=picture,location', function(res) {
            console.log(res);
        });
    }
}, {scope: 'user_location', return_scopes: true});

更大的示例: http//www.devils-heaven.com/facebook-javascript-sdk-login/

确保以具有应用程序角色(管理员,开发人员,测试人员)的用户身份尝试该操作,否则它甚至不会征求许可 如果要公开,则需要先进行审核过程: https : //developers.facebook.com/docs/facebook-login/review

我在第一个回调的开始处添加了return_scopes参数和console.log ,在chrome开发工具中调试了响应,并确保其包含user_location权限。

顺便说一句,您在响应中也获得了访问令牌,请使用调试器检查授权权限: https : //developers.facebook.com/tools/debug/accesstoken/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM