无法获取用户FB生日,Android的? [英] Unable to get FB user birthday, android?

查看:470
本文介绍了无法获取用户FB生日,Android的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想获得像姓名,电子邮件,生日和位置的Facebook用户的一些个人资料信息。我不能够获得用户的生日。

I am trying to get some profile information of facebook user like name, email, birthday and location. I am not able to get the user's birthday.

callbackManager = CallbackManager.Factory.create();
    loginManager=LoginManager.getInstance();
    loginManager.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            // App code
            accessToken = AccessToken.getCurrentAccessToken();
            getProfileInformationFacebook(accessToken);
            Log.e("login res", loginResult.toString());
        }

        @Override
        public void onCancel() {
            // App code
        }

        @Override
        public void onError(FacebookException exception) {
            // App code
        }
    });

读取权限:

loginManager.logInWithReadPermissions(this,
                Arrays.asList("user_about_me", "user_birthday", "user_location", "email"));

图形API请求:

Graph API request:

public void getProfileInformationFacebook(AccessToken accToken) {
    GraphRequest request = GraphRequest.newMeRequest(
            accToken,
            new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(
                        JSONObject object,
                        GraphResponse response) {
                    Log.e("object", object.toString());
                    String fbId = null;
                    String fbBirthday = null;
                    String fbLocation = null;
                    String fbEmail = null;
                    String fbName = null;

                    try {
                        fbId = object.getString("id");
                        fbEmail = object.getString("email");
                        fbName = object.getString("name");
                        fbBirthday = object.getString("birthday");
                        JSONObject jsonObject = object.getJSONObject("location");
                        fbLocation = jsonObject.getString("name");
                    } catch (JSONException e) {
                        e.printStackTrace();
                    } 
                }
            });
    Bundle parameters = new Bundle();
    parameters.putString("fields", "id,name,email,location,birthday");
    request.setParameters(parameters);
    request.executeAsync();

图形API响应:

Graph API response:

{"id":"10153618779823958","email":"wishygupta@yahoo.com","name":"Wishy Gupta"}

在这里是若有所失?

Is here something missing?

推荐答案

Facebook的不要default.You给用户的生日不得不使用扩展权限提交您的应用程序进行审查, Facebook的以访问user`s生日。

Facebook don't give user birthday by default.You have to use extended permission and submit your app for review to facebook to access user`s birthday.

在这里看到:

https://developers.facebook.com/docs/facebook-登录/许可/ V2.4

这篇关于无法获取用户FB生日,Android的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆