我正在使用旧的Rest API(以及旧的Javascript SDK)在facebook中开发iframe应用程序。
但是,我希望有一个墙贴(调用stream.Publish)来包含新行,并且人们的姓名包含指向其个人资料的链接。但是每次我都包含html内容时,FB会删除它..但我知道它可以完成,因为有些应用程序会这样做,例如:
http://img.skitch.com/20100702-jhqradpi3td4d53sdb3qin92sb.png
干杯, 泽
答案 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以获取有关您可以包含哪些附件的详细信息。