【问题标题】:Facebook user location using fb.api使用 fb.api 的 Facebook 用户位置
【发布时间】:2014-02-15 09:57:42
【问题描述】:

我想允许我的用户使用 facebook 登录,而当用户这样做时,我想收集那里的信息,例如姓名、电子邮件、位置、性别等。我面临两个问题

  1. FB.api 并不总是返回用户的位置。
  2. 我无法使用 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) {
                        //获取用户信息
    }); } 别的 { // 用户未登录 } }, { 范围:'电子邮件'}); } }, 真的); }

【问题讨论】:

    标签: facebook facebook-graph-api location


    【解决方案1】:

    您有一个非常清晰的权限列表,您必须请求这些权限才能查询用户数据的各个部分。请参阅user 页面上的权限部分(滚动到页面末尾)并将它们添加到您的范围参数中。

    对于生日和位置,您必须进行以下更改:

    -- scope : 'email' 
    ++ scope : ['email','user_birthday','user_location']
    

    并添加

    生日

    字段添加到您的字段列表中。

    这应该可以解决您的问题。

    【讨论】:

    • 我的生日字段值未定义。
    • 这意味着,有些用户没有生日字段,或者只是不想与其他人分享......或者,你的意思是你总是不确定?
    • 我总是不确定。你如何获得价值?使用 response.birthday ryt?
    • 可以检查你的access_token是否对developers.facebook.com/tools/debug有user_birthday权限
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    相关资源
    最近更新 更多