2016-12-15 5 views

答えて

1

使用許可と、このコード

 loginButton.setReadPermissions(Arrays.asList("email","user_birthday")); 

及び使用グラフAPI

private FacebookCallback<LoginResult> mCallBack = new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 



      progressDialog.dismiss(); 
      // App code 
      GraphRequest request = GraphRequest.newMeRequest(
        loginResult.getAccessToken(), 
        new GraphRequest.GraphJSONObjectCallback() { 
         @Override 
         public void onCompleted(
           JSONObject object, 
           GraphResponse response) { 

          Log.e("response: ", response + ""); 
          Log.e("object: ", object + ""); 
           try { 
            userfbData = new UserfbData(); 
            userfbData.facebookID = object.getString("id").toString(); 
            userfbData.email = object.getString("email").toString(); 
            userfbData.name = object.getString("name").toString(); 
            userfbData.gender = object.getString("gender").toString(); 
            userfbData.birthday=object.getString("birthday").toString(); 
            PrefUtils.setCurrentUser(userfbData,LoginActivity.this); 
            Log.d("flist","flist"+ userfbData.flist); 

           }catch (Exception e){ 
            e.printStackTrace(); 
           } 
          // Toast.makeText(LoginActivity.this,"welcome "+userfbData.name+userfbData.email+userfbData.gender+userfbData.birthday, Toast.LENGTH_LONG).show(); 
          Toast.makeText(LoginActivity.this,"welcome "+ userfbData.name, Toast.LENGTH_LONG).show(); 
           Intent intent=new Intent(LoginActivity.this,LogoutActivity.class); 
           startActivity(intent); 
           finish(); 

         } 

        }); 

      Bundle parameters = new Bundle(); 
      parameters.putString("fields", "id,name,email,gender, birthday"); 
      request.setParameters(parameters); 
      request.executeAsync(); 
     } 

     @Override 
     public void onCancel() { 
      progressDialog.dismiss(); 
     } 

     @Override 
     public void onError(FacebookException e) { 
      progressDialog.dismiss(); 
      Log.d("error","error"+e); 
      e.printStackTrace(); 
     } 
    }; 

UserFbData

あなたはログインしての個人情報を取得するためにGraphRequest呼び出しを行う必要があり
public class UserfbData { 


    public String name; 

    public String email; 

    public String facebookID; 

    public String gender; 

    public String birthday; 

} 
0

ID、名前、電子メールなどのユーザ

GraphRequest request = GraphRequest.newMeRequest(accessToken, 
    new GraphRequest.GraphJSONObjectCallback() { 
     @Override 
     public void onCompleted(JSONObject object, GraphResponse response) { 
      try { 
       String email = object.getString("email"); 
      } catch (JSONException e) { 
      } 
     } 
    } 
); 
Bundle parameters = new Bundle(); 
parameters.putString("fields","email"); 
request.setParameters(parameters); 
request.executeAsync(); 
関連する問題