通过 Facebook API 发帖但未显示图像

Posting via Facebook API but image does not appear

我正在使用 Facebook PHP SDK 将 post 内容添加到我们公司的页面。 10 次中有 9 次有效,但在像今天这样的奇怪情况下,提交了 post,其内容出现在页面上,但没有 og:image 元标记提供的图像。

在今天的案例中,提交了 URL 但没有显示图像。根据 Facebook 的 Sharing Debugger,尽管服务器访问日志显示 Facebook 爬虫在 URL 左右时对该图像 URL 发出了请求,但仍有一个警告指出 "provided og:image URL encountered an unexpected error"已提交并返回代码 200 以及 1MB+ 数据。

对象调试器说的不一样。它声称 Web 服务器未 运行 或 Facebook 的爬虫被阻止,根据防火墙日志,情况并非如此。还有警告指出 og:url 和 fb:app_id 标签丢失,即使它们出现在原始输出中。

再次抓取 URL 不会拉取图像;我必须手动使用 "refresh share attachment" 功能才能显示图像。

有什么方法可以使用 PHP 重新转义 URL 并刷新共享附件,而无需手动执行?

Scraping the URL again does not pull the image through; I have to manually use the "refresh share attachment" feature to make the image appear.

当然不是,不然我把你三天前post看的那篇文章的小猫图改成今天“买便宜的伟哥”,你就自动有了反映在你的时间轴上......

Is there any way I can rescape a URL and refresh the share attachment using PHP without having to do it manually?

您可以通过 API – https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

(重新)抓取 URLs

但我不确定用完全相同的值更新 post 是否真的算作更新并刷新附件。您可以尝试一下 (https://developers.facebook.com/docs/graph-api/reference/v3.1/post#updating),但如果它不起作用,那么您唯一的选择就是在制作 post 之前确保一切正常。 (我想,如果一切正常,从该端点返回的 JSON 数据应该包含图像 URL。)