带图像的Fb.Connect.StreamPublish:不允许输入“i”

时间:2010-04-30 04:52:30

标签: facebook

关于该错误意味着什么的任何想法?我有一个附件媒体类型图像,指定了完整的URL,我看到了这个错误。

2 个答案:

答案 0 :(得分:1)

我知道这是旧帖子,但如果有人需要解决方案,那么将媒体括在括号[]中就像这样:

{"media": [
{ 
    "type": "image", 
    "src": "http://icanhascheezburger.files.wordpress.com/2009/03/funny-pictures-kitten-finished-his-milk-and-wants-a-cookie.jpg", 
    "href": "http://icanhascheezburger.com/2009/03/30/funny-pictures-awlll-gone-cookie-now/"
}, 
{
    "type": "image", 
    "src": "http://photos.icanhascheezburger.com/completestore/2009/1/18/128768048603560273.jpg", 
    "href": "http://ihasahotdog.com/upcoming/?pid=20869"
}]

}

因为它是媒体数组......

您可以在此处找到更多信息:http://developers.facebook.com/docs/guides/attachments/http://developers.facebook.com/docs/reference/rest/stream.publish/

学家

答案 1 :(得分:0)

如果您使用PHP的json_encode从php转换为json,则媒体项必须是json数组而不是json对象。有关对象/数组差异,请参阅http://php.net/manual/en/function.json-encode.php

使用:

$media = array(
  'media' => array(
    array(
      'type' => "image",
      'src'  => file_create_url($image->uri),
      'href' => url('node/' . $node->nid, array('absolute' => TRUE)),
    ),
  ),
);
return json_encode($media);

不起作用:

$media = array(
  'media' => array(
    'type' => "image",
    'src'  => file_create_url($image->uri),
    'href' => url('node/' . $node->nid, array('absolute' => TRUE)),
  ),
);
return json_encode($media);