Facebook图形API - 获取用户所在国家

问题描述:

我想获取用户所在国家的用户家乡。Facebook图形API - 获取用户所在国家

我使用的是最新的图形API v2.3的,我知道FQL在此版本中弃用,因此我可以不再使用Facebook Graph API - how to get user country?

的唯一方法是通过图形API做到这一点,但棘手的事情是

$fb_user = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className()); 

var_dump($fb_user->getProperty('hometown')); 

只返回位置页编号和名称,然后我做

$graph_obj_hometown = (new FacebookRequest($session, 'GET', '/' . $hometown_id, array('locale' => 'en_US')))->execute()->getGraphObject(); 

var_dump($graph_obj_hometown->asArray()); 

在它里面没有任何一个国家的信息,任何人都知道如何获得用户的COUNTR ÿ?

另外,我还试图让用户的家乡作为GraphLocation对象,那么也许我可以用getCountry()方法,但它仍然没有工作

$fb_user->getProperty('hometown', 'Facebook\GraphLocation'); 

对象只存储位置的名称和位置页面ID物体。

任何人都可以帮我吗?

+0

您必须先问领域 – WizKid

+0

@WizKid是正确的 - 试试我/ fields = hometown并确保您的应用授予了user_hometown权限?如果是这样,你应该获得以下格式的家乡的pageId: {“hometown”:{“id”:“110769888951990”,“name”:“Dublin,Ireland”},“id”:“772082842826394”} – Neil

+0

@尼尔是的,我已经做到了,所以我说“返回位置页面的ID和名称” –

得到家乡页面ID后,查询: https://graph.facebook.com/v2.5/HOMETOWN_ID?fields=location 生成的对象将包含国家。

+0

这不起作用。 – Green