如何在stream.Publish中包含html

时间:2010-07-02 10:01:17

标签: facebook publish

我正在使用旧的Rest API(以及旧的Javascript SDK)在facebook中开发iframe应用程序。

但是,我希望有一个墙贴(调用stream.Publish)来包含新行,并且人们的姓名包含指向其个人资料的链接。但是每次我都包含html内容时,FB会删除它..但我知道它可以完成,因为有些应用程序会这样做,例如:

http://img.skitch.com/20100702-jhqradpi3td4d53sdb3qin92sb.png

干杯, 泽

1 个答案:

答案 0 :(得分:1)

您不能在墙上的帖子中使用任意HTML。如果它看起来像HTML,Facebook将剥离它。我认为Facebook唯一的其他改动是将看似链接的文本转换为链接(因此,如果您在消息的某处有http://www.google.com,Facebook会自动将其转换为链接)。

然而,Facebook确实提供了基本设施,通过传递其他参数,通过stream.publish包括图片,标题,描述,链接等基本内容。这是从Facebook的文档(http://wiki.developers.facebook.com/index.php/Stream.publish)中包含其中一些内容的示例:

$message = 'Check out this cute pic.';
$attachment = array(
      'name' => 'i\'m bursting with joy',
      'href' => 'http://icanhascheezburger.com/2009/04/22/funny-pictures-bursting-with-joy/',
      'caption' => '{*actor*} rated the lolcat 5 stars',
      'description' => 'a funny looking cat',
      'properties' => array('category' => array(
                            'text' => 'humor',
                            'href' => 'http://www.icanhascheezburger.com/category/humor'),
                            'ratings' => '5 stars'),
      'media' => array(array('type' => 'image',
                             'src' => 'http://icanhascheezburger.files.wordpress.com/2009/03/funny-pictures-your-cat-is-bursting-with-joy1.jpg',
                             'href' => 'http://icanhascheezburger.com/2009/04/22/funny-pictures-bursting-with-joy/')),
      'latitude' => '41.4',     //Let's add some custom metadata in the form of key/value pairs
      'longitude' => '2.19');
$action_links = array(
                      array('text' => 'Recaption this',
                            'href' => 'http://mine.icanhascheezburger.com/default.aspx?tiid=1192742&recap=1#step2'));
$attachment = json_encode($attachment);
$action_links = json_encode($action_links);
$facebook->api_client->stream_publish($message, $attachment, $action_links);

检查this以获取有关您可以包含哪些附件的详细信息。