0

我們正在嘗試使用條形閱讀器在用戶閱讀文章時發生帖子。無法使用FB打開圖形對對象發佈操作

我們面臨的問題是文章URL並非公開可用,因爲我們需要確保閱讀文章的用戶應該登錄到FB。

例如,我們的文章網址就像SERVER_NAME/article/view/ARTICLE_SLUG。

每當有任何新用戶嘗試點擊此對象的帖子時,它們將被帶到許可頁面,一旦允許,就會顯示文章。但是這個頁面並沒有被Facebook刮掉,因此它不被髮布。

我們試圖創建一個像SERVER_NAME/article/ARTICLE_SLUG這樣的登錄獨立URL,並在我們設置爲SERVER_NAME/article/view/ARTICLE_SLUG的og:url中考慮當發佈發生時它會顯示SERVER_NAME/article/view/ARTICLE_SLUG作爲URL,但沒有發生。

有人可以建議什麼應該是最好的方式來做到這一點。

回答

1

當Facebook下腳料您的網頁,他們用一個非常具體的用戶代理字符串:

facebookexternalhit/1.1 (+ HTTP://www.facebook.com/externalhit_uatext.php)

您可以在「Facebook何時刮我的頁面?」下的Like Button文檔中閱讀它。部分。

當你的請求檢查用戶代理字符串中的請求,如果匹配,則Facebook的刮板允許請求,就回到剛纔的元和OG標籤的簡單的HTML。 由於Facebook的還緩存的結果,這不是應該發生不止一次一天多,因爲它說:

Facebook的擦傷您的網頁,每24小時,以確保性能 最新的。當Open Graph 頁面的管理員單擊「Like」按鈕時以及將URL輸入到 Facebook URL Linter中時,該頁面也會被抓取。 Facebook會在您的網址上觀察緩存標頭 - 它會按照首選項的順序查看「過期」和「緩存控制」。 但是,即使您指定的時間較長,Facebook也會每24小時刮一次您的 頁面。

+0

Cool.This看起來像一個很好的解決方案。讓我試試 – user996048

+0

像老闆一樣。正在尋找這個3小時。 (懶得實際監視請求:P) –

0

比方說,你的文章是登錄在服務器/文/圖用戶/ SLUG(在查看URL)瀏覽。您的主頁鏈接出來的物品在服務器/條/ SLUG(在摘要URL)的摘要視圖,其中一個按鈕來登錄,爲您帶來的視圖URL。

您的應用在視圖網址發佈了閱讀操作,該操作不會被Facebook linter刮掉。在這種情況下,您應該設計應用程序,以便新的流量進入摘要網址,如果用戶已經登錄,則會重定向到視圖網址。摘要URL成爲該文章對象的規範URL,並且您應該發佈針對此URL的操作,因爲它將公開。

爲此,請將元標記<og:url content="SERVER/article/SLUG" />添加到兩個查看URL和摘要URL元數據。