我正在使用以下命令发布一些图像:
$url_facebook = "https://api.facebook.com/method/stream.publish?message=".$messaggio."&attachment={\"name\":\"".$title."\",\"href\":\"".$action_link."\",\"caption\":\"".$caption."\",\"description\":\"".$description."\",\"media\":[{\"type\":\"image\",\"src\":\"".$image."\",\"href\":\"".$action_link."\"}]}&action_links=[{\"text\":\"".$link_name."\",\"href\":\"".$action_link."\"}]&target_id=".$target_uid."&uid=".$source_uid."&".$site_token."";
simplexml_load_file("".$url_facebook."");
我在墙上发布的图像(一组)是从PHP生成的。
这是发生的事情:
我注意到刚刚发布的图像存在并存在于FB墙上
BUT
下次我启动脚本时(所以图片从我的网站上删除)它们也会从Facebook上消失
我明白上传到Facebook的图片,所以我的空间不再需要它们了....
不是这样吗?
我怀疑这也是因为,如果我在facebook上的红色x上看到(在图像的位置)
我右键点击“proprerties”,我可以阅读:
"https://s-platform.ak.fbcdn.net/www/app_full_proxy.php?app=164286063695472&v=1&size=z&cksum=17f253305254403324260843c7a6989a&src=http%3A%2F%2Fwww.graficisismici.it%2FV6_00%2Ffacebook%2Ffacebook_link_285790.jpg%3F285790"
所以它似乎真的是原始图像的链接 你能解决我的疑问吗?
答案 0 :(得分:0)
同时我修改了脚本以使用新的Graph Api
<?php
$user = null;
$facebook = new Facebook(array(
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET,
'cookie' => true
));
$user = $facebook->getUser(); // Get the UID of the connected user, or 0 if the Facebook user is not connected.
if($user == 0) {
/**
* Get a Login URL for use with redirects. By default, full page redirect is
* assumed. If you are using the generated URL with a window.open() call in
* JavaScript, you can pass in display=popup as part of the $params.
*
* The parameters:
* - redirect_uri: the url to go to after a successful login
* - scope: comma separated list of requested extended perms
*/
$login_url = $facebook->getLoginUrl($params = array('scope' => "publish_stream"));
echo ("<script> top.location.href='".$login_url."'</script>");
} else {
$user_message = "Message";
$titolo = "Titolo";
$caption = "Caption";
$link_name = "Link Name";
$action_link = "Action Link";
$testo = "Text";
$image = "Image Link";
$target_uid = "XXXXXXXX"; // ID where to publish
//HTTP POST request to PAGE_ID/feed with the publish_stream
$post_url = '/'.$target_uid.'/feed';
try {
$params = array(
'message' => $user_message,
'name' => $titolo,
'caption' => $caption,
'link' => $action_link,
'description' => $link_name,
'picture' => $image,
'actions' => array(
array(
'name' => $testo,
'link' => $action_link
)
)
);
$post = $facebook->api($post_url,"POST",$params);
}
catch (FacebookApiException $e) {
$result = $e->getResult();
}
}
?>
我想对图像问题做一个澄清。 图像是否仍然存在? 或者一旦发布,我可以删除它们,因为它们仍然存在于Fb上?
我的问题源于我在我的网站的错误日志中看到(当使用此帖子顶部的旧脚本时)一行404错误(与从Fb搜索的错过图像有关)< / p>
答案 1 :(得分:0)
我明白上传到Facebook的图片,所以我的空间不再需要它们了....
事实并非如此。 Facebook只是将您的内容缓存在他们的CDN中。如果您删除源照片,当内容超出其缓存时,他们刷新/重新填充缓存的尝试将失败,您的用户将获得损坏的图像图标。
图像是否仍然存在?或者一旦发布,我可以删除它们,因为它们仍然存在于Fb上?
你不应该删除它们。