Facebook 为不支持opengraph的og:type对象实现自定义命名空间

Facebook 为不支持opengraph的og:type对象实现自定义命名空间,facebook,facebook-graph-api,namespaces,facebook-opengraph,Facebook,Facebook Graph Api,Namespaces,Facebook Opengraph,我已经成功地在我的页面中添加了一个类似Facebook的按钮,使用opengraph标记将其定义为图形中的对象,这样它就可以被视为一个对象,而不是一个链接 我使用的是ogtype=product元标记,但Facebook解析器生成了一个错误(见下文),这似乎是因为Facebook不再支持“product”类型 当喜欢该对象时,它显示为“产品/服务”。这似乎很好,但由于解析器错误,以及需要进一步理解,我想解决它,并采纳给出的建议,实现我自己的自定义类型,稍后我可能会充分使用它 我的页面是现有产品(

我已经成功地在我的页面中添加了一个类似Facebook的按钮,使用opengraph标记将其定义为图形中的对象,这样它就可以被视为一个对象,而不是一个链接

我使用的是ogtype=product元标记,但Facebook解析器生成了一个错误(见下文),这似乎是因为Facebook不再支持“product”类型

当喜欢该对象时,它显示为“产品/服务”。这似乎很好,但由于解析器错误,以及需要进一步理解,我想解决它,并采纳给出的建议,实现我自己的自定义类型,稍后我可能会充分使用它

我的页面是现有产品(单个对象产品、同一页面上的多个评论)的评论页面,因此我需要定义一个自定义名称空间来实现这一点。然而,我不确定我是否做对了

总的来说,我有点困惑,因为我似乎必须有一个应用程序才能做到这一点,并定义一个自定义对象和动作(即使我没有立即使用动作的计划)

因此,我在Facebook的“应用程序”中设置了一个名称空间(mySiteName),并定义了一个对象“ski”和动作“review”(稍后)

然后是我的自定义名称空间声明:

http://ogp.me/ns#mySiteName: “>

这最初通过了调试测试,但后来我注意到我删除了一个无关的标记,并出现了大量新错误:

初始调试错误:

此元数据的分析器结果与输入不匹配 元数据。这很可能是由于在 意外的方式,仅为属性提供多个值 需要单个值,或给定属性的属性值 不匹配。以下是输入属性=>内容对 未在分析的结果中看到:“og:type=>product”

代码(无错误):


新的调试错误删除仅使用mysitename命名空间的额外内容:

无关属性:此类型的对象不允许使用属性 名为“og:mysitename:type”。无关属性:此类型的对象 不允许名为“og:mysitename:title”的属性

元标记:元标记:


感谢您的输入-我已经尝试了几个小时,但毫无乐趣。

解析器可以针对当前的Open Graph API工作,但是'og:type=product'来自于标记的早期版本,该版本于2010年通过Like按钮启动-文档当前位于:

它应该仍然可以工作,但不会传递它,因为它正在查找与当前版本的中使用的自定义操作和对象标记关联的标记

对于自定义对象,标题等应该添加
og:title
,而不是
og:namespace:title
标记,这可能是“ski”对象的问题所在? 在应用程序的“打开图形”设置中,对象定义旁边有一个“获取代码”按钮,其中包括该对象的示例标记:
-看看这与你正在做的相比如何

谢谢@Igy。我从不同的地方得到了这样的印象。当文档赶上更新的API和调试器时,因为-知道为什么我的自定义名称空间带有自定义对象“ski”吗“不工作?再次感谢@Igy-最初我有'og:title',但出于某种原因,我的duff名称空间声明意味着它们在调试器中被读取为'og:namespace:title',即使我的名称空间仅在og:type meta中。我通过您的指针使用了示例代码,它可以正常工作。我错过了一个空间-不确定那是否是终端。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang}" lang="{lang}" xmlns:fb="http://ogp.me/ns/fb#">
<head>
<head prefix="og: http://ogp.me/ns#mysitename: http://ogp.me/ns/apps/mysitename#">
<meta property="og:type" content="mysitename:ski" />