[英]Images not working in FB.ui
嘗試使用以下代碼發布圖像和牆貼一起工作幾個月。 突然它停止了工作。
當我使用https進行測試時,它不起作用,但在http中可行。
如果協議是https,則APP URL使用https,否則使用http。
$protocol = "http";
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']!="off")
$protocol = "https";
define("CANVAS_URL","$protocol://apps.facebook.com/appname/");
define("APP_URL","$protocol://domain.com/content/appname/live/");
FB.ui(
{
method: 'feed',
name: 'my app name',
link: <? echo "'".CANVAS_URL."'";?>,
picture: <? echo "'".APP_URL."'";?>+image,
caption: _caption,
description: _description
}, function(response) {
if (response && response.post_id)
{
// published
} else {
// not published
}
}
);
盡量不要使用SSL URL來獲取圖像(但仍然將其用於鏈接的CANVAS_URL)。 Facebook代理它向用戶顯示的圖像請求,因此即使您從非SSL URL提供圖像,Facebook中使用的圖像也將通過SSL到達用戶。
至於為什么SSL URL不起作用,可能是Facebook用來檢索圖像的爬蟲無法識別您正在使用的證書鏈。 你在瀏覽器中為我工作得很好,但是當在Linux命令行上通過wget
檢索時(可能是比FB瀏覽器更接近瀏覽器的環境),無法驗證證書。
我剛發現的一件事,圖像大小似乎也發揮了作用。 我的圖片網址是原始的全尺寸jpg。 它沒有表現出來。 但在我鏈接到一個小得多的版本后,它顯示了!
在我頁面上的四個飼料柱中的兩個上,我和Black Knight一樣有“薄灰條”。
我拿出了https://現在一切正常......
是...
圖片:'https://mysite.com/images/'+圖片,
現在...
圖片:'mysite.com/images/'+圖片,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.