【问题标题】:Posting via Facebook API but image does not appear通过 Facebook API 发帖但未显示图片
【发布时间】:2018-09-27 11:22:22
【问题描述】:

我正在使用 Facebook PHP SDK 将内容发布到我们的公司页面。 10 次中有 9 次有效,但在今天这种奇怪的情况下,帖子被提交并且其内容出现在页面上,但没有 og:image 元标记提供的图像。

在今天的案例中,提交了一个 URL,但没有显示图像。根据 Facebook 的共享调试器,尽管服务器访问日志显示 Facebook 爬虫在提交 URL 时对该图像 URL 提出了请求,但仍有一条警告指出“提供的 og:image URL 遇到意外错误”,并且代码 200 与 1MB+ 的数据一起返回。

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

再次抓取 URL 不会拉取图像;我必须手动使用“刷新共享附件”功能才能显示图像。

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

【问题讨论】:

    标签: php facebook facebook-php-sdk


    【解决方案1】:

    再次抓取 URL 不会拉取图像;我必须手动使用“刷新共享附件”功能才能显示图像。

    当然不会,否则我会把你三天前发的那篇文章的小猫照片改成今天“在这里买便宜的伟哥”,你的时间轴上就会自动反映出来……

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

    您可以通过 API(重新)抓取 URL – https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

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

    【讨论】:

    • 谢谢。关于 Facebook 声称网络服务器已关闭或爬虫被阻止,我猜 Facebook 和我们的服务器之间的任何类型的网络路由问题都会导致该消息不是吗?
    • 是的,我想是的 - 我怀疑他们无法区分他们无法访问您的服务器的具体原因,如果从他们的最终可能的话。 (如果他们无法解析域名或超时,您会收到不同的消息。)您也可以尝试先将图像 URL 本身提供给刮板 - 这当然会导致错误消息 OG 标签丢失或类似的,但它有时可以帮助解决此类问题,因为抓取工具至少已经“知道”该图像 URL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多