Я запросил у Facebook информацию о днях рождения, дате и о правах доступа пользователя и друзей, но когда я запрашиваю эти поля, они становятся пустыми. У меня в json 150 друзей, у всех эти поля равны нулю, что указывает на то, что Facebook не авторизован.
Запрос:
String query = "select name,about_me,birthday_date, current_location, uid, pic_square,sex from user where uid in (select uid2 from friend where uid1=me()) order by name";
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", query);
response = Utility.mFacebook.request(null, params, "GET");
Ответ Json содержит следующие поля null.
"birthday_date": null,
"current_location": null,
"about_me": null,
Я использую следующий код для входа и получения разрешений от Facebook.
Utility.mFacebook = new Facebook(Constants.MY_APP_ID);
Utility.mAsyncRunner = new AsyncFacebookRunner(Utility.mFacebook);
SessionStore.restore(Utility.mFacebook, this);
SessionEvents.addAuthListener(new SampleAuthListener());
SessionEvents.addLogoutListener(new SampleLogoutListener());
String permissions[]=new String[]{"user_about_me","friends_about_me","user_birthday",
"friends_birthday","user_location","friends_location","offline_access"};
mLoginButton.init(this, Utility.mFacebook,permissions);
Метод кнопки onClick выглядит следующим образом.
public void onClick(View arg0) {
if (mFb.isSessionValid()) {
SessionEvents.onLogoutBegin();
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(mFb);
asyncRunner.logout(getContext(), new LogoutRequestListener());
} else {
mFb.authorize(mActivity, mPermissions,Facebook.FORCE_DIALOG_AUTH,
new LoginDialogListener());
}
}