这会将图片加载到特定的画廊:
$newphotodata = array(
'access_token' => $fanPageAccessToken,
'message' => $message,
'no_story' => 1,
'aid' => $albumId,
'image' => '@' . $picturePath);
$uploadedphoto = $facebook->api('/' . $albumId . '/photos/', 'post', $newphotodata);
不过,您也需要以下权限:
read_stream, manage_pages, publish_stream, photo_upload, user_photos, user_photo_video_tags
我不确定 user_photos 和 user_photo_video_tags 是否真的需要,所以如果你可以使用它,请尝试不使用。
此外,在拨打电话之前,您需要以下行:
$facebook->setFileUploadSupport(true);
不过,您基本上需要先做两件事。
首先,您需要查询 API 以获取要发布到的任何页面的访问令牌。
您可以通过以下 api 调用执行此操作:
$fanpages = $facebook->api('me/accounts?access_token='.$accessToken);
然后你遍历 $fanpages['data'],找到你想要的页面:
$fanPageAccessToken = $fanPage['access_token']
然后,您使用适当的专辑 ID 拨打上面给出的电话。
现在,如果您不知道需要什么专辑 ID,请查看以下内容:
$fan_albums = $facebook->api($fanPageId.'/albums/');
这将显示所有专辑。目前的关键字段将是 ['id'] 和 ['name']。
一旦你发了帖子,就没有证据了。因此,您应该做的是在链接提要上发布指向照片的链接。如果您需要帮助,请询问,我会提供信息。
或者,查看我不久前写的这两篇文章,它们涵盖了相同的内容。
http://facebookanswers.co.uk/?p=262
http://facebookanswers.co.uk/?p=322