4

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

以下代码段成功地向我的墙上发布了一条消息,但地理定位没有采用。

我是编程新手,我已尽力遵循此处的文档,但它非常稀疏——我不确定我的语法是否正确。

任何帮助将不胜感激。

//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);
4

2 回答 2

2

该字段是 Post 表中的隐私字段

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

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

于 2012-01-12T16:33:50.087 回答
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'}";
于 2012-08-10T05:46:55.167 回答