0

在我的应用程序中,我有 Facebook 登录功能,然后获取用户的朋友列表,并且我的 fb 应用程序是在 2014 年 4 月 30 日之前创建的,这就是为什么我能够根据版本 v1.0 和 sdk 3.14 获取朋友列表但我得到了一些问题......我没有得到朋友列表只得到那些使用fb应用程序的朋友......所以我的问题是关于通过权限

String[] FB_Permission_Friends = {"email", "public_profile", "user_address",
            "user_birthday", "user_mobile_phone",
            "user_hometown", "user_location",
            "friends_hometown", "friends_location",
            "friends_checkins", "read_friendlists",
            "friends_birthday", "friends_online_presence",
            "user_online_presence", "user_status"};

我的代码..

 public void FbLogin() {
    FacebookData.Session = createSession();
    Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
    if (!FacebookData.Session.isOpened()) {
        FacebookData.Session.openForRead(new Session.OpenRequest(this).setCallback(callback).setPermissions(FB_Permission_Friends));
    }
}

private Session createSession() {
    Session activeSession = Session.getActiveSession();
    if (activeSession == null || activeSession.getState().isClosed()) {
        activeSession = new Session.Builder(SocialNetworkActivity.this).setApplicationId(Constant.Fb_APP_ID).build();
        Session.setActiveSession(activeSession);
    }
    return activeSession;
}

  Session.StatusCallback callback = new Session.StatusCallback() {
    public void call(Session session, SessionState state, Exception exception) {
        if (exception != null) {
            new AlertDialog.Builder(SocialNetworkActivity.this)
                    .setTitle("Login failed")
                    .setMessage(exception.getMessage())
                    .setPositiveButton("OK", null)
                    .show();
            FacebookData.Session = createSession();
        }
    }
};
4

0 回答 0