![](/img/trans.png)
[英]facebook share og:url overrides data taken from og:title
[英]facebook og data not updating
我已經創建了一個帶有訂閱的Facebook應用。
當用戶打開應用程序時,將出現一個名為“ SUBSCRIBE”的按鈕。 單擊時,將調用javascript函數completePayment()。 出現帶有訂閱的Facebook彈出窗口。 但是,這是一個大問題。 如果我更改og:image URL,並將價格設置為10.00 USD,將計費周期設置為1個月,然后將該文件上傳到服務器,然后單擊SUBSCRIBE按鈕,我仍然可以看到訂閱頁面顯示5.00美元/周,圖像為空白。
即使我使用新值更新了https://www.mydomain.com/_product.php中的所有數據,這一切似乎都與我最初設置數據時的方式相同。 我什至注銷並重新登錄,但仍未反映出任何更改。
我什至清空了_product.php頁面並將其上傳到服務器,訂閱仍然有效,並顯示5.00 USD /周,圖像為空白。
有想法該怎么解決這個嗎?
我在主頁上有以下代碼:
<a href="#" onclick="completePayment()">
<img src="https://www.**********.com/subscribe.png" alt="Subscribe" title="Subscribe" style="vertical-align: top"/>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
FB.init({
appId:'2***********6',
cookie:true,
status:true,
xfbml:true
});
function completePayment(){
var obj = {
method: 'pay',
action: 'create_subscription',
product: 'https://www.mydomain.com/_product.php'
};
FB.ui(obj);
}
</script>
</a>
這是“ https://www.mydomain.com/_product.php ”頁面上的HTML代碼:
<html>
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# fbpayment: http://ogp.me/ns/fb/fbpayment#">
<meta property="og:title" content="********* Subscription" />
<meta property="og:image" content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png" />
<meta property="og:description" content="****** Subscription" />
<meta property="fbpayment:price" content="5.00 USD" />
<meta property="fbpayment:alternate_price" content="3.49 EUR" />
<meta property="fbpayment:alternate_price" content="3.49 GBP" />
<meta property="fbpayment:trial_duration" content="7 days" />
<meta property="fbpayment:billing_period" content="1 week" />
<meta property="fb:app_id" content="2*************6" />
<meta property="og:url" content="https://www.mydomain.com/_product.php" />
<meta property="og:type" content="fbpayment:subscription" />
</html>
如果不是半永久性的,關於共享內容的臉書頁面會有很長的緩存:3種可能的選擇:
1)嘗試清除以下頁面上的頁面緩存: https : //developers.facebook.com/tools/debug,但是下次共享頁面時,您將遇到相同的問題
2)在您的網址( https://www.mydomain.com/_product.php?q=123 )中添加一個動態參數,您將獲得一個與此網址相關聯的唯一值,但是您需要為此設置og參數上帶有php_get的特定網址。 如果值很少,則可以手動進行設置;另一方面,如果值或動態值更大,則需要一個DB表來存儲帶有鏈接url和關聯的og的數據,並在php_get中獲取該值
3)通過重新抓取以編程方式清除緩存。 請參閱: https : //developers.facebook.com/docs/payments/product?locale = zh_CN#scraping-object
我在網站上做過類似的事情,但只是使用隨機生成的值: http : //www.paris-web.it/test.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.