Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:使用Graph API Facebook SDK 3.0获得好友生日_Android_Facebook_Facebook Graph Api - Fatal编程技术网

Android:使用Graph API Facebook SDK 3.0获得好友生日

Android:使用Graph API Facebook SDK 3.0获得好友生日,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,可能重复: 参考: 我设置了获取好友生日和列表的权限。代码如下 private void signInWithFacebook() { mSessionTracker = new SessionTracker(getBaseContext(), new StatusCallback() { @Override public void call(Session session, SessionState state, Exception excepti

可能重复:

参考:

我设置了获取好友生日和列表的权限。代码如下

private void signInWithFacebook() {

    mSessionTracker = new SessionTracker(getBaseContext(), new StatusCallback() {

        @Override
        public void call(Session session, SessionState state, Exception exception) {
        }
    }, null, false);

    String applicationId = Utility.getMetadataApplicationId(getBaseContext());
    mCurrentSession = mSessionTracker.getSession();

    if (mCurrentSession == null || mCurrentSession.getState().isClosed()) {
        mSessionTracker.setSession(null);
        Session session = new Session.Builder(getBaseContext()).setApplicationId(applicationId).build();
        Session.setActiveSession(session);
        mCurrentSession = session;
    }

    if (!mCurrentSession.isOpened()) {
        Session.OpenRequest openRequest = null;
        openRequest = new Session.OpenRequest(MainActivity.this);

        if (openRequest != null) {
            openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
            openRequest.setPermissions(Arrays.asList("user_birthday", "email", "user_location", "friends_birthday","read_friendlists" ));
            openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
            mCurrentSession.openForRead(openRequest);
        }
    }
}
但我只能得到朋友的身份证和名字

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

   if (mCurrentSession.isOpened()) {
       Request.executeMeRequestAsync(mCurrentSession, new Request.GraphUserCallback() {

              // callback after Graph API response with user object
              @Override
              public void onCompleted(GraphUser user, Response response) {
                  Log.d("AL", user.getId() + " " + user.getName() + " " + user.getInnerJSONObject());
              }
            });


        Request.executeMyFriendsRequestAsync(mCurrentSession, new Request.GraphUserListCallback() {

            @Override
            public void onCompleted(List<GraphUser> users, Response response) {
                Log.d("AL",""+response.toString());
                for (int i=0;i<users.size();i++){
                    Log.d("AL",""+users.get(i).toString());
                    welcome.setText("Done");
                }

            }
        });
        }
  }
@覆盖
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
Session.getActiveSession().onActivityResult(此、请求代码、结果代码、数据);
if(mCurrentSession.isOpened()){
executeRequestAsync(mCurrentSession,new Request.GraphUserCallback(){
//带有用户对象的Graph API响应后的回调
@凌驾
未完成公共无效(GraphUser用户,响应){
Log.d(“AL”,user.getId()+“”+user.getName()+“”+user.getInnerJSONObject());
}
});
Request.executeMyFriendsRequestAsync(mCurrentSession,newrequest.GraphUserListCallback(){
@凌驾
未完成公共作废(列出用户、响应){
Log.d(“AL”和“+response.toString());

对于(int i=0;i对于获取好友信息,我们需要获取
HttpConnection
以获取以下
url

"https://graph.facebook.com/me/friends?access_token="+ mAccessToken + "&fields=id,first_name,last_name,location,picture,birthday");
在此处添加所需的字段。
我想它会起作用的。

这里我们有什么东西可以买吗

String url = "https://graph.facebook.com/me/friends?fields=birthday,name&access_token="+ facebook.getAccessToken(); 
用这个我过生日

 JSONObject JOAlbums = JAAlbums.getJSONObject(i);

 String date = DaysCount(JOAlbums.getString("birthday"));

你打给
/me/friends的电话在哪里?
你忘了在
字段
参数中添加你想要返回的额外字段吗?获取空数据[]@M.J.我得到了空数组..请帮我设置空数据[]@Nagarjunaredy我得到了空数组..请帮帮我