我们可以从Android Facebook Sdk获取用户的生日吗?

哈利

我需要从他们的FB帐户中获取用户的生日。我尝试了此链接:从Facebook SDK GraphUserCallback获取出生日期和城镇

但这对我没有太大帮助。请让我知道是否可以获取出生日期,或者FB SDk对此有任何限制吗?

谢谢。

Dharmendra Pratap Singh

首先,您必须在使用Facebook SDK时指定user_birthday权限,然后才能使用以下代码段请求“用户生日”。

修改后的代码只是为了给您完整的演示

    public void getBirthDate(){
    // set permissions 
    List<String> permissions = new ArrayList<String>();
    permissions.add("user_birthday");

    Session activeSession = Session.getActiveSession();
    Context context=getApplicationContext();
    if (activeSession == null || activeSession.getState().isClosed()) {
        Session session = new Session.Builder(context).build();
        Session.setActiveSession(session);
        // set active session
        activeSession = session;
    }
    // if a session is already open then issue a request using the available
    // session. Otherwise ask for user credentials.
    if (activeSession.isOpened()) {
        // User Logged In
        Session.getActiveSession().closeAndClearTokenInformation();

        // Open Active Session
        Session.openActiveSession(this, true, new Session.StatusCallback() {
            @Override
            public void call(final Session session, SessionState state, Exception exception) {
                if (session.isOpened()) {
                    Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
                        @Override
                        public void onCompleted(GraphUser user, Response response) {
                            if (user != null) {
                                Log.i(LOGTAG, "Json Data that is coming from FB:" + user.getInnerJSONObject());
                            }
                        }
                    });
                }
            }
        });
    } else {
        //If session is not opened 
        OpenRequest openRequest = new Session.OpenRequest((Activity) this);
        openRequest.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
        //Setting no call back dealing it in OnAcitivityResult
        openRequest.setCallback(null);

        //Setting Permission
        openRequest.setPermissions(permissions);
        activeSession.openForRead(openRequest);
    }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (Session.getActiveSession() != null)
        Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);

    Session activeSession = Session.getActiveSession();
    if (activeSession == null || activeSession.getState().isClosed()) {
        Session session = new Session.Builder(getApplicationContext()).build();
        Session.setActiveSession(session);
        activeSession = session;
    }

    if (activeSession.isOpened()) {
        Session.openActiveSession(this, true, new Session.StatusCallback() {
            @Override
            public void call(final Session session, SessionState state, Exception exception) {
                if (session.isOpened()) {
                    Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
                        @Override
                        public void onCompleted(GraphUser user, Response response) {
                            if (user != null) {
                                Log.i(LOGTAG, "Json Data that is coming from FB:" + user.getInnerJSONObject());
                            }
                        }
                    });
                }
            }
        });
    }
}

希望这能够帮到你

JSON回调看起来像

   {
   "id": "146473xxx",
   "name": "XYZ",
   "first_name": "dkajsd",
   "last_name": "kajs",
   "link": "https://....",
   "username": "xxxx",
   "birthday": "12/12/91",
   "hometown": 
   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Android中的Facebook获取用户性别和生日

如何获取用户信息。使用Android Facebook SDK?

获取用户个人资料图片Android facebook SDK

我们可以自定义Facebook SDK框架吗?

获取用户生日Facebook图表

如何在Facebook SDK Android中获取用户的Facebook个人资料图片

我们可以使用Gigya令牌获取用户信息吗

我们可以使用eval函数获取用户创建的列表吗?

我们可以从 FirebaseAuth 获取用户的详细信息吗

我如何从最新的Facebook sdk-4.0.1获取用户信息

在Android中使用SDK 3.15登录到Facebook时获取用户名

Android-如何使用Facebook SDK 4获取用户电子邮件

适用于Android的Facebook SDK:如何获取用户的性别

Android-Facebook SDK获取用户名-Request.GraphUserCallback返回null

如何使用Android版Facebook SDK v4.2获取用户详细信息

我们可以在Android的RemoteView中添加ListView吗?

我们可以在Android上实现MATLAB代码吗?

我们可以在不使用Facebook功能登录的情况下获取电子邮件ID的Facebook朋友列表吗

Facebook SDK iOS获取用户信息

Facebook SDK获取用户图片

用户在Facebook应用中删除我们的应用时,Facebook需要重新登录

Facebook for Android在获取用户性别方面出现错误

登录后的Android Facebook获取用户信息

我们可以关闭MouseEvents吗?

我们可以理解吗?

我们可以在android api 8中获取本机日历视图吗?

我们可以从 android 中的 Spinner 获取多个输入吗

Facebook在我们的android应用中检测到病毒

我可以在Android Studio中弃用特定类(不受我们控制)的用法吗?