我想分享從我的網站在Facebook上的圖像。圖像可以是動態的,但其他元將保持不變。動態圖像Facebook的Opengraph og:圖像元標記
有沒有一種方法可以在OG中使用動態數據:IMAGE標記,還是必須使用FB Post API的其他選項。
我想分享從我的網站在Facebook上的圖像。圖像可以是動態的,但其他元將保持不變。動態圖像Facebook的Opengraph og:圖像元標記
有沒有一種方法可以在OG中使用動態數據:IMAGE標記,還是必須使用FB Post API的其他選項。
是的,沒有。 Facebook會刪除您的網站一次,並緩存它找到的元數據,除非您專門去here並強制抓取工具再次抓取您的網站。緩存通常會過期(可能在1-2天后?),所以當再次請求超出緩存期限時,Facebook將再次抓取該網站。
你可以有一個動態生成的og:image
meta標籤,但它只會被讀取的一個時間(每個高速緩存段),只有圖像的情況下將被保存。
例如,如果用戶A共享您的頁面,並且您的頁面在og:image
標記中返回imageA.png
,那麼這是與您的頁面元數據關聯的圖像。
如果用戶B,則共享同一頁的相同的緩存期內,Facebook將放棄元刮假設imageA.png
仍然是有效的og:image
。
看看this Gist。
您應該在facebook上重新抓取頁面,以便每次更新og:image標記時再次抓取頁面。
def share_facebook_fanpage(link,msg,PAGE_ID,OAUTH_ACCESS_TOKEN,apiversion='v2.8'):
BASE_URL = "https://graph.facebook.com/%s" % apiversion
POST_URL = "%s/%s/feed" % (BASE_URL, PAGE_ID)
# force facebook scape the link first to avoid not showing thumb
f = requests.post(BASE_URL, data={
'id': link,
'scrape': True,
'access_token': OAUTH_ACCESS_TOKEN
})
# share the link
r = requests.post(POST_URL, data={'access_token': OAUTH_ACCESS_TOKEN, 'link': link, 'message':msg})
在Facebook上創建動態og:image動態顯示的一個選擇是向og:image src添加一個cachebuster。因此,每次從Facebook重新打印頁面(每24小時),它都會看到一個新的圖像。 – j0nes 2014-04-07 16:55:38