使用 fb.api 的 Facebook 用户位置
Posted
技术标签:
【中文标题】使用 fb.api 的 Facebook 用户位置【英文标题】:Facebook user location using fb.api 【发布时间】:2014-02-15 09:57:42 【问题描述】:我想允许我的用户使用 facebook 登录,而当用户这样做时,我想收集那里的信息,例如姓名、电子邮件、位置、性别等。我面临两个问题
-
FB.api 并不总是返回用户的位置。
我无法使用 user_birhtday 获取用户的生日。代码如下。
FB.getLoginStatus(函数(响应) if (response.status === '已连接') FB.api('/me?fields=age_range,name,location,email,gender', function(response) //获取用户信息 ); 别的 FB.登录(功能(响应) 如果(response.authResponse) FB.api('/me?fields=age_range,name,location,email,gender', function(response) //获取用户信息 ); 别的 // 用户未登录 , 范围:'电子邮件'); , 真的);
【问题讨论】:
【参考方案1】:您有一个非常清晰的权限列表,您必须请求这些权限才能查询用户数据的各个部分。请参阅user 页面上的权限部分(滚动到页面末尾)并将它们添加到您的范围参数中。
对于生日和位置,您必须进行以下更改:
-- scope : 'email'
++ scope : ['email','user_birthday','user_location']
并添加
生日
字段添加到您的字段列表中。
这应该可以解决您的问题。
【讨论】:
我的生日字段值未定义。 这意味着,有些用户没有生日字段,或者只是不想与其他人分享......或者,你的意思是你总是不确定? 我总是不确定。你如何获得价值?使用 response.birthday ryt? 可以检查你的access_token是否对developers.facebook.com/tools/debug有user_birthday权限以上是关于使用 fb.api 的 Facebook 用户位置的主要内容,如果未能解决你的问题,请参考以下文章
手动获取文本到墙贴文本区域(使用 FB API 在 facebook 上共享 - Android)