facebook open graph meta property og:type of 'website'. Свойството „име на обект“ изисква обект от og:type „име на обект“

в торта 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
   }
}

някой знае ли как да го реши?


person Chinmaya Hegde    schedule 13.04.2012    source източник
comment
Вярвам, че това не е проблем с Cake, тъй като грешката идва от API на Facebook? Какво означава източникът на example.com/exmp/explus/books/view/234 изглежда? og:type може да бъде дефиниран два пъти, причинявайки проблеми при публикуване.   -  person mensch    schedule 13.04.2012
comment
Предполагам, че в Cake стандартният og:type е дефиниран като „website“, докато вие се опитвате да го замените, за да имате тип „book“ там.   -  person balint    schedule 20.05.2012


Отговори (2)


Този проблем може да възникне, ако вашата страница е ограничена за влезли потребители или има някаква логика на сесията.

Можете да използвате инструмента за отстраняване на грешки от тази връзка:

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

В тази връзка можете да посочите своя url (http://example.com/exmp/explus/books/view/234) в полето "Input URL, Access Token, or Open Graph Action ID".

След това при щракване върху бутона за отстраняване на грешки, ако можете да видите стойностите за fb:app_id,og:url,og:type,og:title, този проблем няма да възникне.

В противен случай можете да проверите секцията "URLs" в долната част на страницата и да щракнете върху връзката "See exactly what our scraper sees for your URL". Когато щракнете върху връзката, можете да видите html кода на вашия сайт в браузъра. Това ще ви помогне да отстраните проблема.

person Prabhuram    schedule 16.04.2012

BP RAM е прав, ако следвате неговите стъпки, трябва да можете да откриете проблема. (Бих гласувал за, ако можех; няма достатъчно репутация.)

Бих искал да споделя моя опит, за да го разясня. Наскоро се сблъсках със същия проблем. Facebook продължава да игнорира всички мета тагове и получавам същата грешка #3502.

Най-накрая използвах Facebook Debug Tool > „Scraped URL“, за да проверя моя код. Този инструмент ви показва точно какво вижда роботът на Facebook.

Забелязах, че има php грешки, смесени с моя HTML код. Тези грешки никога не са се появявали в изходния код за IE, FF или Chrome. В моя случай това беше свързано с моя код за откриване на браузъра. User_agent на робота на Facebook не беше в моя списък и накара кода ми за откриване да генерира съобщения за грешка, които нарушиха HTML маркирането. Поправих функцията си и всичко започна да работи отново!

Предлагам ви да проверите уебсайта си с: http://developers.facebook.com/tools/debug/og/echo?q=YOUR_WEBSITE_URL_HERE

(Или използвайте https://developers.facebook.com/tools/debug, въведете във вашия URL адрес и натиснете „Изтрит URL адрес“ в долната част на страницата.)

Проверете дали има смесени кодове за боклук в раздела ‹head›‹/head›. Ако има, Facebook няма да успее да анализира мета таговете.

person lawrenceshen    schedule 17.09.2012