【发布时间】:2012-08-25 05:54:21
【问题描述】:
当尝试将照片发布到相册时(作为页面,使用了从“/page_id?fields=access_token”获得的页面访问令牌),我得到了新创建对象的 ID。然而,当试图在图形资源管理器中检查它时,这个 ID 只会返回“false”。此外,照片似乎没有出现在所选相册中(或其他任何地方)。
代码非常简单:
$facebook->setFileUploadSupport (true);
$page_at = $facebook->api ('/'.option::get_value ('page_id').'?fields=access_token');
$page_at = $page_at['access_token'];
$args = array ();
$args['message'] = $this->text;
$args['image'] = '@' . realpath ($filename);
$args['access_token'] = $page_at;
$photo = $facebook->api ('/'. option::get_value ('album_id') . '/photos', 'post', $args);
option::get_value () 只返回(正确的,我检查了三次)专辑 ID。此外,图像是 .png,我没有收到任何错误消息,Facebook 返回的所有内容都是 ID:
array(1) { ["id"]=> string(15) "188538791279108" }
这是 Facebook 的错误还是我遗漏了一些明显的东西?
【问题讨论】:
-
$args['image'] = '@' . realpath ($filename);这仅返回规范化的绝对路径名。要将图像上传到 facebook,您必须传递带有域的完整路径。例如;http://somesite.com/images/myimage.png -
不幸的是,它确实是完整的物理路径,当我将其更改为虚假路径时,我已经从脚本中获得了 HTTP 500,因为它找不到文件。你确定我需要传递一个 URL 才能工作吗?
-
是的。您必须将完整的 imageurl 作为源传递。
标签: facebook