no cake php 1.3 na vista ctp eu tenho o código seguinte:
$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)); ?>
e dá o seguinte erro quando estou publicando isso ”
{ "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 } }
Alguém sabe como resolvê-lo?
Esse problema pode ocorrer se sua página estiver restrita para usuários registrados ou tiver algum tipo de lógica de session.
Você pode usar a ferramenta de debugging a partir deste link:
http://developers.facebook.com/tools/debug
Nesse link você pode dar sua url ( http://example.com/exmp/explus/books/view/234 ) no campo "Input URL, Access Token, or Open Graph Action ID"
Campo de "Input URL, Access Token, or Open Graph Action ID"
.
Depois disso, ao clicar no botão de debugging se você conseguir ver os valores para fb:app_id,og:url,og:type,og:title
, este problema não ocorreria.
Caso contrário, você pode verificar a seção "URLs"
na parte inferior da página e clicar no link "See exactly what our scraper sees for your URL"
Ao clicar no link, você pode ver o código html do seu site no navegador. Isso irá ajudá-lo a solucionar o problema.
BP RAM está certo, se você seguir seus passos, você poderá localizar o problema. (Eu aumentaria se eu pudesse, não era suficiente reputação).
Gostaria de compartilhar minha experiência para elaborar. Eu encontrei o mesmo problema recentemente. O Facebook continua ignorando todas as meta tags e recebo o mesmo erro # 3502.
Eu finalmente usei o Facebook Debug Tool> “Scraped URL” para inspecionar meu código. Esta ferramenta mostra exatamente o que o rastreamento do Facebook vê.
Eu notei que há erros de php misturados com meu código HTML. Esses erros nunca apareceram no código-fonte do IE, FF ou Chrome. No meu caso, estava relacionado com o código de detecção do meu navegador. O user_agent do crawler do Facebook não estava na minha lista e fez com que meu código de detecção gerasse mensagens de erro que quebrassem a marcação HTML. Eu reparei minha function e tudo começou a funcionar novamente!
Sugiro que você verifique seu site com: http://developers.facebook.com/tools/debug/og/echo?q=YOUR_WEBSITE_URL_HERE
(Ou use https://developers.facebook.com/tools/debug , digite seu URL e pressione “URL raspada” na parte inferior da página.)
Verifique se há códigos de lixo misturados na seção
. Se houver, o Facebook não conseguirá analisar as meta tags.