我正在尝试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
请帮助我,我已经花了几个小时的工作......
答案 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'; });
尝试并让我知道;)