2016-11-02 15 views
0

私はアンドロイドアプリのfbユーザー情報を取得するためにthisコードを使用しています。Android Fb api - 誕生日を取得する

問題このコードではすべてのユーザーの生年月日が返されません。つまり、ユーザーAからログインするとDOBが返されますが、ユーザーBからログインした場合は返されません。どちらのユーザーもfbにdobを保存していて、プライバシー設定もしています。

private LoginButton loginButton; 
private CallbackManager callbackManager; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_login); 

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

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

callbackManager = CallbackManager.Factory.create(); 

// Callback registration 
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
    @Override 
    public void onSuccess(LoginResult loginResult) { 
     // App code 
     GraphRequest request = GraphRequest.newMeRequest(
       loginResult.getAccessToken(), 
       new GraphRequest.GraphJSONObjectCallback() { 
        @Override 
        public void onCompleted(JSONObject object, GraphResponse response) { 
         Log.v("LoginActivity", response.toString()); 

         // Application code 
         String email = object.getString("email"); 
         String birthday = object.getString("birthday"); // 01/31/1980 format 
        } 
       }); 
     Bundle parameters = new Bundle(); 
     parameters.putString("fields", "id,name,email,gender,birthday"); 
     request.setParameters(parameters); 
     request.executeAsync(); 


    } 

    @Override 
    public void onCancel() { 
     // App code 
     Log.v("LoginActivity", "cancel"); 
    } 

    @Override 
    public void onError(FacebookException exception) { 
     // App code 
     Log.v("LoginActivity", exception.getCause().toString()); 
    } 
}); 

}

誰もが共有してください何かを知っている場合。

答えて

0

私は、両方のユーザーがアプリケーションで役割を持っておらず、user_birthdayが承認されていないと仮定します。ログインレビューのドキュメントをご覧ください:https://developers.facebook.com/docs/facebook-login/review

+0

私はあなたを得ていませんでした。私の答えで – Atula

+0

あなたはリンクをチェックアウトしたと説明できますか?あなたはまずfacebookによって承認されたuser_birthdayを取得する必要があります。または、アプリ内で役割を持つユーザーにのみ有効です。 – luschn

+0

私は "user_birthday"の許可を与えていますが、それは拒否されました – Atula

関連する問題