2013-11-26 39 views
1

我有一個小網頁,每天都會顯示一個單詞的答案 - 無論是或否 - 取決於其他因素每天都在變化。Facebook的動態OG元數據

在此之下,我有一個Facebook like按鈕。我希望此按鈕在標題/說明中張貼「是」或「否」,具體取決於當天的裁決結果。

我已經使用PHP動態地設置了OG元數據,以便將正確的字符串回顯到og:title等。但Facebook緩存該值,因此週二有人共享我的頁面可能會輕易地將錯誤的內容發佈到Facebook。

我已通過使用Facebook對象調試器確認這是問題。一旦我強制刷新,一切都很好。我試圖用curl自動化這個,但這似乎不起作用。

$ch = curl_init(); 
$timeout = 30; 
curl_setopt($ch, CURLOPT_URL, "http://developers.facebook.com/tools/lint/?url={http://ispizzahalfprice.com}"); 
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$data = curl_exec($ch); 
curl_close($ch); 
echo $data; 

我錯過了一些簡單的解決方法嗎?或者是否需要重新評估我的網站結構以實現我所尋找的目標(例如,使用兩個單獨的頁面)?

這裏的頁面的情況下,它是有用的:http://ispizzahalfprice.com

回答

0

使用兩個單獨的URL的將是安全的賭注。正如你所觀察到的,Facebook在URL刮除方面做了相當大的緩存。您也已經看到,作爲應用程序的管理員,您可以通過再次通過調試器拉動頁面來刷新和刷新Facebook的緩存。

使用兩個URL將解決這個問題,因爲Facebook可以緩存他們想要的結果!仍然會有一個單獨的URL用於「是」,另一個用於「否」。

+0

它們可以是不同的查詢字符串在同一網址?或單獨的頁面?另外,我的'喜歡'不會被分成兩頁嗎?這對我來說是個問題。我可能更喜歡將按鈕完全隱藏在一個狀態中,而不是將它們分開。 –

+0

隱藏一個州的按鈕可能是一個好主意......人們會喜歡他們沒有獲得50%折扣的事實嗎? ;)非常嚴肅地說,如果Facebook將查詢參數的差異視爲「喜歡」的不同對象,我並不是100%確定。不應該太難測試...但是如果他們這樣做 - 那麼是的 - 喜歡就會分裂。 – Lix