所以我想做以下事情:php脚本应该将带有标题的图片上传到facebook页面。
然后我用Google搜索了一下,发现了这个:Simple example to post to a Facebook fan page via PHP?
一切都很好,但遗憾的是结果不是我想要的。而不是“完整”的图像,我只得到一个残废:http://i.imgur.com/2qINX.jpg
你能救我吗?该脚本需要离线访问,我已经有了一个应用程序。我只需要它上传图片和标题,仅此而已。 在此之前,我通过Facebook为移动用户提供的电子邮件上传图片,但这不再令人满意。我的意思是,它不会那么难。但如果我不明白这一点,我将租用一个虚拟的Windows服务器并运行一个登录Facebook并发布图像的脚本。答案 0 :(得分:1)
您可以使用 -
将图片上传到您的页面$image['file'] = PATH_TO_PICTURE;
$args = array( 'access_token' => PAGE_ACCESS_TOKEN, 'message' => '','no_story' => 0);
$args['image'] = '@' . $image['file'];
$target_url = "https://graph.facebook.com/ALBUM_ID/photos";
$ch = curl_init();
curl_setopt ($ch,CURLOPT_URL,$target_url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
curl_exec($ch);
curl_close ($ch);
<强> PAGE_ACCESS_TOKEN 强>
获取网页/应用列表 -
$facebook->api("/USER_ID/accounts");
获取页面的访问令牌 -
$facebook->api("/PAGE_ID?fields=access_token");
答案 1 :(得分:1)
这会将图片加载到特定图库:
$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']。
一旦你发了帖子,就没有证据。那么您应该做的是在链接Feed上发布照片的链接。如果您需要帮助,请询问,我将提供信息。
或者,看看我刚才写的这两篇文章,它们涵盖了相同的内容。