繁体   English   中英

如何使用PHP facebook SDK获取用户的原籍国

[英]How can I get a user's home country using the PHP facebook SDK

到目前为止,我可以获得有关用户家乡的信息:

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

然后,我可以提取其家乡的页面(家乡似乎不可转换为GraphLocation):

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

然后我可以得到该页面:

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

然后我被卡住了。 如果您实际上转到位置页面,则它们看起来像这样 在右上角,您可以清楚地看到“美国”字样。

如何使用facebook SDK提取该信息? 我尝试将页面强制转换为GraphLocation并使用getCountry但是它不起作用。

当构造的登录按钮(例如具有<FB:登录按钮>),则必须在“范围”属性的字段你打算阅读确定。 有些领域是公开的,有些则不是。
例如,如果你想元研究的家乡场,您必须使用Facebook按钮喜欢这里:

<FB:登录按钮autologoutlink = “真” 范围 = “public_profile,电子邮件,user_hometown”> </ FB:登录按钮>

在“ 范围 ”所使用的参数(权限)是这些:

权限 :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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM