0

当尝试将照片发布到相册时(作为页面,使用了从“/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:

数组(1){[“id”]=>字符串(15)“188538791279108”}

这是 Facebook 的错误还是我遗漏了一些明显的东西?

4

1 回答 1

1

而不是'image'参数,尝试'source'。刚刚尝试过,它对我有用(发布到页面拥有的相册):

$args['source'] = '@'.realpath($filename);

此外,确保上传的文件具有非零文件大小:

error_log('file size: '.$_FILES["file"]["size"]);

并使用Debugger仔细检查访问令牌是否具有manage_pages,publish_stream权限。

于 2012-08-24T21:54:21.937 回答