为什么Facebook上的应用程序帖子不显示为通过我的应用程序粘贴,尽管有OK OpenGraph响应?

为什么Facebook上的应用程序帖子不显示为通过我的应用程序粘贴,尽管有OK OpenGraph响应?,facebook,Facebook,我们在Facebook上有一个名为TouchActive的应用程序 我们为用户提供将内容发布到Facebook的方式,可以是从web(通过AddThis)或本地Android/iOS应用程序 当我们从Android发帖时,我们识别了应用程序,帖子正确显示,显示“…通过TouchActive”都很好 当我们从web发布时,我们发布一个Facebook查询的URL,并从服务器提供一个OpenGraph响应,其中包含所有og:meta标记,包括Facebook应用程序id 内容显示正确(正在解析OG响

我们在Facebook上有一个名为TouchActive的应用程序

我们为用户提供将内容发布到Facebook的方式,可以是从web(通过AddThis)或本地Android/iOS应用程序

当我们从Android发帖时,我们识别了应用程序,帖子正确显示,显示“…通过TouchActive”都很好

当我们从web发布时,我们发布一个Facebook查询的URL,并从服务器提供一个OpenGraph响应,其中包含所有og:meta标记,包括Facebook应用程序id

内容显示正确(正在解析OG响应OK),但它不会显示为通过我们的应用程序发布的内容,帖子也不会显示在我们的应用程序Insight统计数据中

我们假设这是可以做到的

有人知道我们在开放图响应中可能会做错什么,从而导致此操作不起作用吗

我试过Facebook调试工具,它显示了正确解析的OG响应,没有错误,只有关于OG:url的警告


og:url是推荐的还是必须使用的?

用户手动共享指向或喜欢具有opengraph元标记(包括应用ID)的网页的链接与发布应用中的内容不同-您是否确实使用应用发布链接


你必须通过API发布文章才能将文章归属于你的应用,无论页面的元标签上指定了哪个应用(这主要是为了深入了解和管理目的)

安德鲁:我的网站也使用了相同的元标签,它按预期工作,文章归属于我的网站。我想你应该指定og:url元标记一次,然后检查。由于此url用于fb墙上的应用程序定位链接


如果仍然存在相同的问题,那么我们可以进一步挖掘以找到解决方案。

您可以显示用于从web发布的图形url吗?您可以告诉我们您是如何通过应用发布的吗?通过JS-SDK还是使用服务器端调用?在任何一种情况下,您都可以粘贴相关的过帐代码吗?另外,你能把我链接到安装了AddThis的页面吗?我相信我知道答案,但希望在发布前验证。如果失败,我们将发布包含url的文本(示例)”。抱歉,以前的编辑超时。。。如果失败,我们将发布包含url的文本(示例)”。这会导致Facebook bot向该url发出请求,我们会用包含我们的appID(并已使用Facebook调试器验证正确)的OpenGraph标记的页面进行回复。无论是人工发布还是通过我们使用的AddThis小部件发布,行为都是相同的。我希望该请求显示为从我们的应用程序发布的信息和/或显示在我们的应用程序的InSight统计信息中。注意:要查看来自该URL的OpenGraph响应,您需要将您的UserAgent设置为facebook bot。。。。一个正常的请求将得到完整的html页面“为人类”。我想把这篇文章归因于我们的应用程序,并让这篇文章显示在见解。目前看来这两种情况都没有发生,因此元标记并没有像您建议的那样导致帖子出现在Insights中。元标记[应该]与您应用程序中的帖子是否属于此类并出现在应用程序的Insights中没有关系-您是如何制作帖子的?Charsee(见下文)(我认为)建议使用og:url元标记作为应用程序的属性(尽管可能是“site”!=“app”)?有人知道这方面的goo文档吗?我已经阅读了标准文档,没有找到关于这些细节的解释。谢谢。你的帖子写得怎么样?如果您不是通过应用程序发布帖子,则帖子不会归属于应用程序-like按钮使用app_id标记来确定谁可以访问insights and admin选项,但不会用于在类似的故事中显示“via APPname”。我们手动(发布与应用程序关联的url)或通过AddThis发布帖子。它们都会导致facebook向url发出请求,而我们会用opengraph标记(包括app_id和url)进行响应……调查更多的内容引发了关于facebook如何处理og:url字段的问题。似乎如果og:url与FB从中获取og数据的url不一致,它会将其视为重新定向,并从该url请求og数据,依此类推,直到og:url与请求它的url一致(完全一致?)。在一些测试中,由于返回的og:url与请求的实际url(由于编码…)不完全一致,我们从FB调试器中得到了“太多重定向”错误,安德鲁:页面的URL和分配给og标签的URL可能不一样,但它们应该指向同一个页面(就像URL重写一样)。url的编码也不会使它们有所不同。它们被视为相同的。因此,如果我理解正确,就会发生这样的情况:如果og:url与请求url不同,facebook将向og:url发出另一个请求(一种重定向viaOG响应),以此类推……直到og:url返回并请求解析为相同的值。FB必须使用code/LIB来解码og:url,因为它应该是url编码的,如果在XHTML中,甚至可能会转义XML?确切地说:)Andrew我想你应该在查看FB应用程序的设置,然后检查字段(Facebook上的名称空间、网站和应用程序)是否正确填充。您还可以使用此链接查看您的应用程序