0

Facebook 对象调试器告诉我

缺少必需值的对象:“产品”类型的 URL“ http://apps.facebook.com/cpuzzle_dev/opengraph/product/facebook.v16cashbundleXL.html ”对象无效,因为必需属性“产品:价格:货币”未提供“字符串”类型的。

但是,当我点击“查看我们的抓取工具对您的 URL 看到的确切内容”时,我得到:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta property="og:type" content="og:product">
<meta property="og:title" content="800 Puzzle Cash">
<meta property="og:image" content="http://example.com/assets/assets/platform/cash-stack-3.jpg">
<meta property="og:url" content="http://apps.facebook.com/cpuzzle_dev/opengraph/product/facebook.v16cashbundleS.html">
<meta property="og:description" content="A solid amount of Puzzle Cash">
<meta property="product:price:amount" content="3.80">
<meta property="product:price:currency" content="USD">
<meta property="product:price:amount" content="2.99">
<meta property="product:price:currency" content="EUR">
</head></html>

那么问题出在哪里,我该如何解决呢?

附加信息:如果我切换数量和货币元素的顺序,我会得到同样的错误,抱怨缺少“产品:价格:数量”属性。

更多附加信息:我已更改产品定义以与Facebook 的示例项目完全匹配(有趣的是,实时示例项目缺少“产品”命名空间)。对于它工作的示例项目,对我来说它不......

4

1 回答 1

0

经过大量的反复试验,我终于找到了如何让 Facebook 接受产品定义。

真正的问题似乎不在于结构或货币属性,而在于og:url属性 - 显然它不能apps.facebook.com域中,但必须使用您的服务器域。一旦我改变了它,问题就消失了。

于 2013-06-19T14:35:44.573 回答