2014-10-08 74 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

相关问题