[英]Unable to get Facebook permissions: birthday_date, about_me always null
我已經向facebook詢問了生日日期,about_me以及用戶和朋友的位置權限,但是當我查詢以獲取這些字段時,這些為空。 我在json中有150個朋友,所有這些字段都等於null,這表明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());
}
}
您是否需要使用與許可相同的名稱來請求他們? 即它看起來像這樣:
String query = "select name, user_about_me, user_birthday, user_location, uid, pic_square, sex from user where uid in (select uid2 from friend where uid1=me()) order by name";
編輯您是否嘗試過使用Graph API調用進行此操作? 我相信可以通過以下方式獲得相同的信息:
https://graph.facebook.com/<fb_id>?fields=birthday,location,bio&access_token=<user_access_token>
如果您不想使用圖表調用,是否嘗試過在FQL調用中使用生日,位置和生物信息,也許他們更改了列的名稱?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.