Facebook SDK 4.5.0在android中返回错误的用户ID

时间:2015-08-13 13:13:55

标签: android ios facebook

在我的应用中,我正在整合facebook SDK 4.5.0。 要获取用户的详细信息,我正在使用方法 GraphRequest request = GraphRequest.newMeRequest

在用户json响应中,我收到错误的用户ID。

对于相同应用程序和同一用户的IOS,我得到正确的userId。

任何人都可以帮我解决这个问题吗?

这是我获取用户详细信息的代码:

<LocationMatch>

2 个答案:

答案 0 :(得分:1)

在V2.0API之后,用户ID为“app-scoped”,因此不同应用上的同一用户的ID可能不同。 您可以参考documentation here 了解更多详情。

它也说:

  

无论他们最初用于注册您的应用的版本是什么,   对于已登录的人,ID将保持不变   你的应用。对于任何拥有此更改的人,此更改都是向后兼容的   在过去的任何时候登录到您的应用程序。       如果您没有跨应用程序映射ID,则不需要更改代码。

答案 1 :(得分:0)

获取用户的公开个人资料:

Bundle params = new Bundle();
    params.putString("fields", "id,name,email");
    new GraphRequest(
            AccessToken.getCurrentAccessToken(),
            "/me",
            params,
            HttpMethod.GET,
            new GraphRequest.Callback() {
                public void onCompleted(GraphResponse response) {
                    try {
                        Log.e("JSON",response.toString());
                        JSONObject data = response.getJSONObject();
                        //data.getString("id"),
                        //data.getString("name"),
                        //data.getString("email")
                    } catch (Exception e){
                        e.printStackTrace();
                    }
                }
            }
    ).executeAsync();