2015-11-25 17 views
-2

Facebook應用程序ID僅響應名稱和Facebook ID,而在Android中的facebook集成僅響應名稱和ID來。其他個人資料信息未來。即使默認數據不提供。Facebook應用程序ID只響應名稱和Facebook ID,而Facebook在Android中集成

@Override 
    protected String doInBackground(String... strings) { 
     try { 
     // response = facebook.request("me/friends"); 
      response = facebook.request("me"); 

      if (response == null || response.equals("") || response.equals("false") || response.contains("error")) { 
        Log.v("Error", response.toString()); 
      } else { 
        JSONObject jsonObject = new JSONObject(response); 
      } 
     } catch (Exception e) { 
      System.out.println(e); 
    }     
+0

你沒有請求任何其他數據,所以爲什麼要出現? – luschn

+0

我是新來的。所以請告訴我如何請求在此代碼中的其他基本的個人資料信息,如電子郵件配置文件圖像等,在此先感謝。 –

回答

0

試試這個。

loginButton = (LoginButton) findViewById(R.id.login_button); 
 

 
List <String> permissionNeeds = Arrays.asList("user_photos", "email", 
 
\t "user_birthday", "public_profile", "AccessToken"); 
 
loginButton.registerCallback(callbackManager, 
 
new FacebookCallback <LoginResult>() {@Override 
 
\t public void onSuccess(LoginResult loginResult) { 
 

 
\t \t System.out.println("onSuccess"); 
 

 
\t \t String accessToken = loginResult.getAccessToken() 
 
\t \t \t .getToken(); 
 
\t \t Log.i("accessToken", accessToken); 
 

 
\t \t GraphRequest request = GraphRequest.newMeRequest(
 
\t \t loginResult.getAccessToken(), 
 
\t \t new GraphRequest.GraphJSONObjectCallback() {@Override 
 
\t \t \t public void onCompleted(JSONObject object, 
 
\t \t \t GraphResponse response) { 
 
\t \t \t \t Log.i("LoginActivity", response.toString()); 
 
\t \t \t \t try { 
 
\t \t \t \t \t id = object.getString("id"); 
 
\t \t \t \t \t try { 
 
\t \t \t \t \t \t URL profile_pic = new URL(
 
\t \t \t \t \t \t \t "http://graph.facebook.com/" + id + "/picture?type=large"); 
 
\t \t \t \t \t \t Log.i("profile_pic", 
 
\t \t \t \t \t \t profile_pic + ""); 
 

 
\t \t \t \t \t } catch (MalformedURLException e) { 
 
\t \t \t \t \t \t e.printStackTrace(); 
 
\t \t \t \t \t } 
 
\t \t \t \t \t name = object.getString("name"); 
 
\t \t \t \t \t email = object.getString("email"); 
 
\t \t \t \t \t gender = object.getString("gender"); 
 
\t \t \t \t \t birthday = object.getString("birthday"); 
 
\t \t \t \t } catch (JSONException e) { 
 
\t \t \t \t \t e.printStackTrace(); 
 
\t \t \t \t } 
 
\t \t \t } 
 
\t \t }); 
 
\t \t Bundle parameters = new Bundle(); 
 
\t \t parameters.putString("fields", 
 
\t \t \t "id,name,email,gender, birthday"); 
 
\t \t request.setParameters(parameters); 
 
\t \t request.executeAsync(); 
 
\t } 
 

 
\t @Override 
 
\t public void onCancel() { 
 
\t \t System.out.println("onCancel"); 
 
\t } 
 

 
\t @Override 
 
\t public void onError(FacebookException exception) { 
 
\t \t System.out.println("onError"); 
 
\t \t Log.v("LoginActivity", exception.getCause().toString()); 
 
\t } 
 
});

+0

使用您的代碼在大多數情況下,電子郵件ID不作爲迴應。只有一位用戶獲得了他的電子郵件ID –

相關問題