使用Facebook API进行地理位置定位页面帖子

时间:2011-10-25 18:23:47

标签: php facebook-graph-api geotargetting

我正在尝试使用Facebook PHP SDK将墙上的帖子地理定位到我的粉丝页面。

以下代码段成功地将消息发布到我的墙上,但地理位置定位没有进行。

我是编程新手,我已尽力遵循文档here,但它非常稀疏 - 我不相信我的语法是正确的。

非常感谢任何帮助。

//compiling the geotargeting parameters
$geoTarget = "{'cities':'Richmond,VA','regions':'Virginia','countries':'US'}";

//my arguments
$args = array(
'access_token'  => $page_access_token,
'message'       => "this is my message",
'targeting' => $geoTarget
);

//posts the message
$facebook->api("/$page_id/feed","post",$args);

2 个答案:

答案 0 :(得分:2)

该字段是Post表中的隐私

如果指定了按地点/语言定位的网页帖子,则说明字段可能包含逗号分隔的有效国家/地区,城市和语言列表。

http://developers.facebook.com/docs/reference/api/post/

答案 1 :(得分:2)

为了使这更容易,这就是你需要的位http://developers.facebook.com/docs/reference/api/page/#targeting

这将提供有关如何定位区域的信息。 http://developers.facebook.com/docs/reference/ads-api/get-autocomplete-data/

完成问题定位所需的内容是:

这些国家的位置是正确的。 弗吉尼亚州的区域代码是51(您可以通过搜索_“> https://graph.facebook.com/search?q = vi& type = adregion& match_country_code = true& country_list = US& access_token = _)找到 里士满的城市ID是2538983(通过搜索_“> https://graph.facebook.com/search?q = richmon& type = adcity& limit = 150& access_token = _)可以找到

所以地理目标就是

$geoTarget = "{'cities':[2538983],'regions':[51],'countries':'US'}";