Facebook PHP API:通过@ [PAGE_ID]提及页面

时间:2013-08-26 18:57:59

标签: php facebook-graph-api

我想我已阅读过去关于这个论点的所有帖子,但我想知道某个主题是否有变化。

现在可以使用Facebook PHP SDK在消息文本中提及页面了吗? 像这样:

$post_params = array(
   'access_token' => PAGE_TOKEN,
   'message' => 'This is a message tagged to @[PAGE_ID]
);
$postStream = $this->facebook->api("/" . PAGE_ID . "/feed", 'post', $post_params);

我指的是这个页面:https://developers.facebook.com/docs/opengraph/guides/tagging/

1 个答案:

答案 0 :(得分:0)

实际上,到目前为止,我通过以下方式解决了问题:

1)通过正则表达式替换可能的“facebook related”uri来“规范化”页面名称

$replacePattern = '((https|http)?(:\/\/)?(www\.)?(facebook\.com)?(\/)?)';
$page_name = preg_replace($replacePattern, '', $page_name);
$page_name = 'https://www.facebook.com/' . $page_name;

2)使用“标准化”uri调用Facebook API:

$fql = "SELECT id, name FROM profile WHERE id in (SELECT id FROM object_url WHERE url='" . $page_name . "')";
    $param = array(
        'method'        => 'fql.query',
        'query'         => $fql,
        'callback'      => ''
    );
    $response = $facebook->api($param);