【问题标题】:Facebook open grach og:description cache issueFacebook open grach og:描述缓存问题
【发布时间】:2014-06-19 12:11:11
【问题描述】:

我正在尝试 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&amp;fbrefresh=XXX 可能会有所帮助,但对我来说仍然失败。

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

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

【问题讨论】:

    标签: facebook facebook-opengraph


    【解决方案1】:

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

    Facebook 调试器会抓取您的 URL 并获取您页面的静态 HTML (meta)。 Facebook BOT 不是具有会话的用户!,它会抓取您的页面元标记,刷新其缓存并退出,仅此而已

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

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

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

    【讨论】:

      【解决方案2】:

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

      最后我用php动态生成了一个文件,这个文件的文件名是coupon,比如DXSCVV.htm。 sharer.php ->sharer.php?u=http://example.com.tw/DXSCVV.htm

      它有效。感谢您的帮助。

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,但我通过添加此代码来强制 Facebook 抓取我的页面,它对我有用

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

        试试看,然后告诉我;)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多