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());
}
});
}
誰もが共有してください何かを知っている場合。
私はあなたを得ていませんでした。私の答えで – Atula
あなたはリンクをチェックアウトしたと説明できますか?あなたはまずfacebookによって承認されたuser_birthdayを取得する必要があります。または、アプリ内で役割を持つユーザーにのみ有効です。 – luschn
私は "user_birthday"の許可を与えていますが、それは拒否されました – Atula