我正在粉丝页面上创建一个墙帖,我在其中指定消息、url、url 名称、标题、描述和相关 url 的照片拇指。
我确实注意到 Facebook 直接使用我的 img 网址。这意味着如果我从我的服务器中删除它,帖子上的图像就会消失。
很明显,如果我创建一个带有自定义图像的帖子,我将不得不终生托管它 - 其他我将有很多带有损坏图像的帖子。
是否可以告诉 FB 获取相关图像的副本?
我正在粉丝页面上创建一个墙帖,我在其中指定消息、url、url 名称、标题、描述和相关 url 的照片拇指。
我确实注意到 Facebook 直接使用我的 img 网址。这意味着如果我从我的服务器中删除它,帖子上的图像就会消失。
很明显,如果我创建一个带有自定义图像的帖子,我将不得不终生托管它 - 其他我将有很多带有损坏图像的帖子。
是否可以告诉 FB 获取相关图像的副本?
几周前我遇到了同样的问题 - 不幸的是,无法使用托管在 FB 服务器上的图片。我尝试提供用户照片的 URL 等 - 除非您在外部托管它,否则没有任何效果。
因此,要么在您的服务器上“终身托管”,要么使用 Flick 或其他类似的图像托管服务器。
不确定这是否是您想要的,但如果您实际上将图像发布到 FB,则 FB 正在托管它。您可以在此处查看不同的帖子类型:
https://developers.facebook.com/docs/reference/api/page/#post_types
我们选择“照片”是因为“链接”没有显示很大的图像。
$api_call = '' . $network['network_id'] . '/photos'; //network_id is the page id
$attachment = array(
'access_token' => $network['network_token'], //access token
'source' => "@" . $image['image_path'], //must be actual path to image
'message' => $campaign['textresponse'],
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/' . $api_call);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //to suppress the curl output
$result = curl_exec($ch);
curl_close ($ch);
echo "<br>";
return $result; //returns the post number as json string
我认为可以将照片上传到粉丝页面中的相册,然后您可以使用上传的图像属性为您的墙发布消息。