2014-10-08 73 views
0

到目前爲止,我可以瞭解用戶的家鄉信息獲取用戶的祖國:我如何使用PHP的Facebook SDK

$userProfile = $this->_facebookRequest->getGraphObject(GraphUser::className()); 

然後我可以提取出來的頁面爲自己的家鄉(家鄉似乎沒有被強制轉換爲GraphLocation):

$homeTownPageId = $userProfile->getProperty('hometown')->getProperty('id'); 

然後,我可以得到的頁面:

$pageRequest = (new FacebookRequest($this->_facebookSession, 'GET', '/' . $homeTownPageId))->execute(); 

然後我被困。如果你真的去了一個位置頁面,他們看起來像this。在右上角,您可以清楚地看到「美國」。

如何使用facebook SDK提取出該信息?我試圖將頁面投射到GraphLocation並使用getCountry,但它不起作用。

回答

0

當你構建登錄按鈕(例如用< FB:登錄按鈕>)必須在「scope」屬性的字段你打算讀確定。有些領域是公開的,有些則不是。
例如,如果你想元研究的家鄉場必須使用Facebook按鈕喜歡這裏:

< FB:登錄按鈕autologoutlink = 「真」 範圍 =「public_profile,電子郵件,user_hometown 「> </FB:登錄按鈕中使用>

參數(權限)」 範圍「是這些:

PERMISSIONS:public_profile(默認),user_friends,電子郵件,user_about_me,user_actions.books,user_actions.fitness,user_actions.music,user_actions.news,user_actions.video,user_actions:{app_namespace},user_activities,user_birthday,user_education_history,user_events ,user_games_activity,user_groups,user_hometown,user_interests,user_likes,USER_LOCATION,user_photos,user_relationships,user_relationship_details,user_religion_politics,user_status,user_tagged_places,user_videos,user_website

擴展權限:read_friendlists,read_insights,read_mailbox,read_page_mailboxes,read_stream,manage_notifications,manage_pages ,publish_actions,rsvp_event

查看文檔:https://developers.facebook.com/docs/facebook-login/permissions/v2.2

相關問題