facebook open graph meta property og:'website'的类型。属性'object-name'需要一个og:type'object-name'对象

时间:2012-04-13 04:42:37

标签: php facebook cakephp-1.3 facebook-opengraph

在蛋糕php 1.3中查看ctp我有以下代码:

$url = 'http://example.com/exmp/explus/books/view/'.$book['Book']['id'];

echo $this->Html->meta(array('property' => 'fb:app_id', 'content' => '*******'),'',array('inline'=>false));

echo $this->Html->meta(array('property' => 'og:type', 'content' => 'book'),'',array('inline'=>false));

echo $this->Html->meta(array('property' => 'og:url', 'content' => $url ),'',array('inline'=>false));

echo $this->Html->meta(array('property' => 'og:title', 'content' => $book['Book']['title']),'',array('inline'=>false));

echo $this->Html->meta(array('property' => 'og:description', 'content' => $book['Book']['title']),'',array('inline'=>false));

$imgurl = '../image/'.$book['Book']['id'];

echo $this->Html->meta(array('property' => 'og:image', 'content' => $imgurl ),'',array('inline'=>false)); ?>

当我发布它时,它会出现以下错误

{
   "error": {
      "message": "(#3502) Object at URL http://example.com/exmp/explus/books/view/234'   has   og:type of 'website'. The property 'book' requires an object of og:type 'book'. ",
      "type": "OAuthException",
      "code": 3502
   }
}

是否有人知道如何解决它?

2 个答案:

答案 0 :(得分:6)

如果您的页面受限于登录用户或具有某种会话逻辑,则可能会发生此问题。

您可以使用此链接中的调试工具:

http://developers.facebook.com/tools/debug

在该链接中,您可以在"Input URL, Access Token, or Open Graph Action ID"字段中提供您的网址(http://example.com/exmp/explus/books/view/234)。

如果能够看到fb:app_id,og:url,og:type,og:title的值,则在单击调试按钮之后,不会发生此问题。

否则,您可以查看页面底部的"URLs"部分,然后点击"See exactly what our scraper sees for your URL"链接。点击该链接即可在浏览器中看到您网站的HTML代码。这将有助于您调试问题。

答案 1 :(得分:0)

BP RAM是正确的,如果您按照他的步骤操作,您应该能够找到问题所在。 (如果可以,我会赞成;没有足够的声誉。)

我想分享一下我的经验。我最近遇到了同样的问题。 Facebook一直忽略所有元标记,我得到了相同的#3502错误。

我终于使用了Facebook调试工具> “Scraped URL”来检查我的代码。 此工具可以准确显示Facebook抓取工具所看到的内容。

我注意到我的HTML代码中混有php错误。这些错误从未出现在IE,FF或Chrome的源代码中。就我而言,它与我的浏览器检测代码有关。 Facebook的抓取工具的user_agent不在我的列表中,导致我的检测代码生成错误消息,从而破坏了HTML标记。我修复了我的功能,一切都恢复了!

我建议您查看您的网站: http://developers.facebook.com/tools/debug/og/echo?q=YOUR_WEBSITE_URL_HERE

(或使用https://developers.facebook.com/tools/debug,输入您的网址,然后按页面底部的“Scraped URL”。)

检查< head>< / head>中是否混有垃圾代码部分。如果有,Facebook将无法解析元标记。

相关问题