Facebook开放图形og:描述缓存问题

时间:2014-06-19 12:11:12

标签: facebook opengraph

我正在尝试Facebook开放图,我想在用户共享页面时动态分配og:description,      它取决于我的PHP。

<meta name="og:title" content="test1" />  
<meta name="og:description" content="<?php  echo $_REQUEST['parm'] ?>" />  
<meta name="og:image" content="http://nuphoto.com.tw/titleapp4.png" />  
<meta name="og:url" content="http://nuphoto.com.tw/share/easygo_bruce.php" />  

但是,它总是缓存先前的结果,并且不会更改。      我搜索了解决方案,但所有这些都没有用。      这是我的考验。

  • 转到https://developers.facebook.com/tools/debug     并输入我的网址。     它工作,但我需要动态更改我的页面。所以它不适合我。

  • 关注How to update facebook open graph image

    $.post(
    'https://graph.facebook.com',
    {
        id: 'http://www.example.com/my/share/url/',
    scrape: true
    },
    function(response){
    console.log(response);
     });
    

    它不起作用,并显示错误。

    FB.getLoginStatus() called before calling FB.init(). all.js:53
    Object {url: "http://example.com/mytest.php", type: "website", title: "test, image: Array[1], description: "XXX"…}
    
    • 有人说添加v=XXX&fbrefresh=XXX可能有所帮助,但对我来说仍然失败。

    https://www.facebook.com/sharer/sharer.php?u=example.com&fbrefresh&v=xxxx

请帮助我,我已经花了几个小时的工作......

3 个答案:

答案 0 :(得分:0)

这些解决方案都不适合你,为什么?

Facebook调试程序会抓取您的网址并获取您网页的静态HTML(meta)。 Facebook BOT不是会话用户!,它会抓取您的页面元标记,刷新其缓存并获取所有

<meta name="og:description" content="<?php  echo $_REQUEST['parm']; ?>" />

$_REQUEST['parm']是当前用户/会话查看和设置的内容,而调试器没有设置会话或$_REQUEST['parm']

真诚地,您无法根据当前会话动态更改og:image

答案 1 :(得分:0)

事实上,我想要的是制作动态FB描述,我将为每个FB共享帖子显示不同的优惠券代码。所以我需要将优惠券代码传递给描述。我找不到正确的方法。在sharer.php中使用get string?u = http://example.com.tw?coupon=DXSCVV不起作用。

最后,我使用php动态生成一个文件,该文件的文件名为优惠券,例如DXSCVV.htm。 sharer.php - &gt; sharer.php?u = http://example.com.tw/DXSCVV.htm

有效。谢谢你的帮助。

答案 2 :(得分:0)

我有同样的问题,但我解决了这个问题,通过添加此代码强制Facebook刮取我的页面,它对我有用

FB.api("", 'post', { id: 'YourLinkToShare', scrape: 'true' }, function () {"YourShareMethodHERE'; });

尝试并让我知道;)