代码之家  ›  专栏  ›  技术社区  ›  mavilla vishnu vardhan

使用FireBase获取用户数据的Facebook授权

  •  0
  • mavilla vishnu vardhan  · 技术社区  · 6 年前

    我正在尝试在Facebook上使用FireBase身份验证。

    我已经成功地实现了登录部分,并在使用accesstoken从Facebook获取用户详细信息时卡住了。

    代码如下:

    loginButton.setReadPermissions("email", "public_profile"    );
            loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(final LoginResult loginResult) {
                    Log.d(TAG, "facebook:onSuccess:" + loginResult);
                    GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                                @Override
                                public void onCompleted(JSONObject me, GraphResponse response) {
                                    Log.e("FBRESPONSE",me.toString());
                                    if (response.getError() != null) {
                                        // handle error
                                    } else {
                                        if (me.has("picture")) {
                                            try {
                                                f_photo = me.getJSONObject("picture").getJSONObject("data").getString("url");
                                            } catch (JSONException e) {
                                                e.printStackTrace();
                                            }
                                        }
                                        f_email = me.optString("email");
                                        String id = me.optString("id");
                                        f_name=me.optString("first_name")+" "+me.optString("last_name");;
                                        handleFacebookAccessToken(loginResult.getAccessToken());
                                    }
                                }
                            }).executeAsync();
                }
            });
    

    这是我在调用这个时得到的JSON响应。

    E/FBRESPONSE: {"name":"Vishnu Reddy","id":"855235691328214"}
    

    如何获取电子邮件、个人资料图片URL?

    请帮忙。事先谢谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Viktor Stojanov    6 年前

    Facebook Graph API AccessToken.refreshCurrentAccessTokenAsync();