如何要求facebook预先**我的页面信息

时间:2016-05-10 12:41:02

标签: facebook facebook-opengraph opengraph

用户在我们的网站上发布了相当多的图像日志,我们根据https://developers.facebook.com/docs/sharing/best-practices中的建议准备了OpenGraph标签,但是当用户第一次共享图像时,他经常会看到零预览。最终的份额通常很好,第二次分享也没关系。

https://developers.facebook.com/tools/debug/sharing中的调试表明我们的图像超过8MB或加载时间太长。然而它们总是在100-300KB左右,甚至第一个获取它们的请求需要大约300ms(取决于你所在的CDN节点,但绝对不是秒)。

所以我的猜测是,facebook抓取工具实际上需要一些时间来处理下载的图像,这需要时间。

我们能以某种方式向Facebook询问" prescrape"该页面,告诉该页面可能会被共享?

我试图使用rescrape调用它,但它没有任何结果,因为尚未共享新链接。

1 个答案:

答案 0 :(得分:0)

通过使用以下参数向https://graph.facebook.com发出POST请求,可以实现此目的:

  • id:要抓取的网址
  • scrape:true

jQuery的一个简单示例:

$.post('https://graph.facebook.com', {
    id: 'https://yourdomain.com/yoururl',
    scrape: true
}, function(response) {
    console.log(response);
});

当然,您也可以使用PHP curl执行此操作,此处有关于此的更多信息:How do I send a POST request with PHP?

如果您想使用JavaScript,我建议您使用Fetch API