2013-10-16 62 views
2

我有幾個由Facebook託管的對象被髮布到用戶的活動日誌。該圖像的URL指向我們的內容交付解決方案,該解決方案將重定向到版本化的圖像。這意味着URL可以保持不變,但圖像可能會更改。我可以強制刷新Facebook對象的圖片網址嗎?

正如你可以在此看到圖像

Inconsistent Images in Object Browser

當圖像的變化,Facebook的仍然可以正確地加載它(見OG:image列),但在實際崗位創建的圖像(見懸停文本,來自https://fbexternal-a.akamaihd.net/safe_image.php)似乎被緩存。我發現通過添加一個虛擬參數來改變URL(如果需要,我們可以做到這一點),但是如果有辦法強制Facebook刷新它的緩存圖像,那會更好。這種呼叫或方法是否存在?

在類似的問題,我聽說來電來郵

https://graph.facebook.com/?id=[ID]&scrape=true 

可以重新抓取數據,但我一直不成功與調用(看來,如果對象是自託管只刮數據, 是對的嗎?)。

還有一些關於在URL中添加fbrefresh = [ANYTHING]的內容,但它聽起來像是等同於添加虛擬參數。

此外,使用調試器似乎也沒有做任何事情。我已經進入試:

- http://developers.facebook.com/tools/debug/og/object?q=[ID] 
- http://developers.facebook.com/tools/debug/og/object?q=[ID]&refresh=[ANYTHING] 
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL] 
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL]&refresh=[ANYTHING] 

而且

- http://graph.facebook.com/?id=[ID]&scrape=true 

一切都無濟於事。

最後,有人知道緩存是否可以正常刷新?或者是否會期望圖像永遠存在?

回答

4

This document說:

Updating Objects 

When an action is published, or a Like button pointing to the object clicked, Facebook will 'scrape' the HTML page of the object and read the meta tags. The object scrape also occurs when: 

    The object URL is input in the Object Debugger 
    Every 7 days after the first scrape 
    When an app triggers a scrape using an API endpoint 

This Graph API endpoint is simply a call to: 

POST /?id={object-instance-id or object-url}&scrape=true 

當你做這個事情scrape=true,Facebook將轉到OG:URL參數,刮在這個網站的所有OG參數。所以請確保這個頁面(og:url)具有適當的og:image meta標籤和新的圖片url。

如果你更新圖像,你必須重新命名它(更新og:圖像URL),否則Facebook不知道你有一個新的形象。

+0

最後,我們發現這是真實的,所以我有一個自動化功能,爲圖像URL添加一個隨機參數。 –

+0

嗯我剛剛發現這篇文章http://stackoverflow.com/questions/5776567/facebook-open-graph-not-clearing-cache但我不知道它是否仍然有效。 – Jurik