2016-11-07 1 views
2

アクティビティコードの生年月日:あなたのonCompleteのメソッドの使用GraphResponseの代わりに、JSONObjectのパラメータでアンドロイドFacebookの4.0 SDK、ユーザー

loginButton = (LoginButton) findViewById(R.id.login_button); 
    loginButton.setReadPermissions(Arrays.asList("public_profile", "email", "user_birthday", "user_friends")); 
    callbackManager = CallbackManager.Factory.create(); 
    loginButton.registerCallback(callbackManager, new FacebookCallback <LoginResult>() { 
    @Override 
    public void onSuccess(LoginResult loginResult) { 
     AccessToken accessToken = loginResult.getAccessToken(); 
     Profile profile = Profile.getCurrentProfile(); 
     GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { 
     @Override 
     public void onCompleted(JSONObject object, GraphResponse response) { 
     try { 
     String id = object.getString("id"); 
     String name = object.getString("name"); 
     String gender = object.getString("gender"); 
     String first_name = object.getString("first_name"); 
     String last_name = object.getString("last_name"); 
     String email = object.getString("email"); 
     String birthday = object.getString("birthday"); 
     tv_profile_name.setText(name); 
     firstname.setText(first_name); 
     lastname.setText(last_name); 
     genderr.setText(gender); 
     dob.setText(birthday); 
     emailid.setText(email); 
     String imageurl = "https://graph.facebook.com/" + id + "/picture?type=large"; 
     Picasso.with(MainActivity.this).load(imageurl).into(iv_profile_pic); 
     } catch (JSONException e) { 
     e.printStackTrace(); 
     } 
     } 
     }); 
     Bundle parameters = new Bundle(); 
     parameters.putString("fields", "id,name,email,gender, birthday,first_name,last_name"); 
     request.setParameters(parameters); 
     request.executeAsync(); 
     accessTokenTracker = new AccessTokenTracker() { 
     @Override 
     protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) { 
     if (currentAccessToken == null) { 
     tv_profile_name.setText(""); 
     firstname.setText(""); 
     lastname.setText(""); 
     genderr.setText(""); 
     dob.setText(""); 
     emailid.setText(""); 
     iv_profile_pic.setVisibility(View.INVISIBLE); 
     } 
     } 
     }; 
    } 
    @Override 
    public void onCancel() {} 
    @Override 
    public void onError(FacebookException error) {} 
    }); 
    } 

答えて

0

。ここに私のコードです:

@Override 
        public void onCompleted(JSONObject object, GraphResponse response) { 
         JSONObject jsonObject = response.getJSONObject(); 
         if (jsonObject != null) { 
          try { 
           email1 = jsonObject.getString("email"); 
           gender1 = jsonObject.getString("gender"); 
           birthday1 = jsonObject.getString("birthday"); 
          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 
         } 
        } 

私に教えてください。

+0

だけ性別を示すが、電子メールや誕生日 –

+0

{AccessTokenトークン:ACCESS_TOKEN_REMOVED権限:[public_profile、CONTACT_EMAIL、user_friends、メール]}れないonActivityResultで –

+0

: –

関連する問題