使用POST向Facebook Graph API标记墙贴中的人物

时间:2011-11-09 22:33:41

标签: facebook facebook-graph-api cakephp-1.3

我在墙上的帖子中标记人员时遇到了一些严重问题。我正在使用CakePHP并使用FB API POST到Graph API。这是代码:

    $theMsg1 = $this->Connect->user('name').' tagged ';
    $theMsg2 = $friendName.' on the IF Tag website.';
    $msg1Len = strlen($theMsg1);
    $fbNameLen = strlen($friendName);`

    $fbcall = FB::api($fbID.'/feed', 'POST', array(
        'name'    => $theTag['Tag']['name'],
        'caption' => 'IF Tag is an application that allows you to interact with people on Facebook.',
        'message' => $theMsg1.$theMsg2,
        'message_tags' => array(
            $msg1Len => array(
                'id' => $friendID,
                'name' => $friendName,
                'offset' => $msg1Len,
                'length' => $fbNameLen
            ),
            'picture' => 'http://patronsocialclub.com/img/global/head/drinkmaker.gif',
            'link' => 'iftag.local'
        )
    ));

根据我的理解和我读过的内容,我应该使用message_tags对象标记帖子中的人,但它根本不起作用。它没有给出任何错误,只是没有标记。

我也尝试使用我见过的其他帖子中的@[{userid}:1:{username}],但这似乎与API的当前迭代无关。

2 个答案:

答案 0 :(得分:2)

请在此处查看我的回答Facebook Graph API Post with_tags option

它的要点是

我认为你想要使用的只是“标签”,它应该只包含这里指定的id https://developers.facebook.com/docs/reference/api/user/#posts

**请注意,如果不指定地点,则无法执行此操作

Facebook现已发布提及标记,这可能是您需要的解决方案https://developers.facebook.com/docs/opengraph/mention_tagging/,但它需要自定义开放图表操作。

答案 1 :(得分:0)

目前无法在状态更新中标记好友或通过API发布帖子。 这是他们的愿望清单,这里是链接

http://developers.facebook.com/bugs/351412111599830