在PAGE上获得有针对性的Facebook帖子

时间:2012-01-25 18:23:47

标签: php facebook facebook-graph-api

我正在尝试Geo Target页面上的Feed帖子(不是个人资料)。我已经成功创建了一个帖子,但我无法通过Facebook API文档(https://developers.facebook.com/docs/reference/api/post/)将帖子定位到特定的国家,城市或语言。

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

这是我的代码:

// post vars
$access_token = $_POST['access_token'];
$page_id = $_POST['page_id'];
$message = $_POST['message'];

$url = 'https://graph.facebook.com/' . $page_id . '/feed';
$post_fields = array(
    'access_token' => $access_token,
    'message' => $message,
    'privacy' => '{ "description": "United States", "value": "CUSTOM" }'
);

// initialize cURL
$ch = curl_init();

    // Set options
    curl_setopt($ch, CURLOPT_URL, $url); // URL to cURL
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

    // execute cURL
    $response = curl_exec($ch);

    // return results
    echo json_encode($response);

// close Connection
curl_close($ch);

我从Facebook收到#100 API错误:

{"error":{"message":"(#100) Posts where the actor is a page cannot also include privacy.","type":"OAuthException"}}

正如您在上面的API响应中所看到的那样,如果我们将其作为页面发布,则表示不可能包含隐私类型(也称为定位)。这与Facebook记录的内容不一致。

有人可以提供一些建议吗?

1 个答案:

答案 0 :(得分:0)

了解您的问题here

  

页面发布的帖子没有隐私设置,除非使用适当的选项进行定位,否则它们始终对所有人可见。   此外,通过API发布的帖子没有“手动创建帖子的”共享“链接 - 这是故意的

<强>更新

这看起来像是一个文档错误。我附上了旧版文档的截图。尝试使用与“enter image description here相同的位置格式”定位“ https://developers.facebook.com/docs/adsapi/targeting_specs/