2012-04-13 5 views
1

in Kuchen PHP 1.3 im Hinblick auf CtP ich habe Folgecode:facebook öffnen graph meta property og: art der "website". Die Eigenschaft 'object-name' erfordert ein Objekt der og: type 'object-name'

$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)); ?> 

und es gibt die folgende Fehlermeldung, wenn ich bin Entsendung es '

{ 
    "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 
    } 
} 

ist jemand wissen, wie man es löst?

+0

Dies ist kein Problem mit Cake, glaube ich, da der Fehler von der Facebook-API kommt? Wie sieht die Quelle http://example.com/exmp/explus/books/view/234 aus? 'og: type' könnte zweimal definiert werden, was zu Problemen beim Posten führen würde. – mensch

+0

Ich denke, in Cake ist der Standard og: type als 'website' definiert, während du versuchst, ihn zu überschreiben, um dort einen 'book'-Typ zu haben. – balint

Antwort

6

Dieses Problem kann auftreten, wenn Ihre Seite für angemeldete Benutzer eingeschränkt ist oder eine Art von Sitzungslogik hat.

Sie können die Debug-Tool von diesem Link:

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

In diesem Link Sie Ihre URL geben kann (http://example.com/exmp/explus/books/view/234) im "Input URL, Access Token, or Open Graph Action ID" Field.

Danach das Klicken auf die Debug-Schaltfläche, wenn Sie die Werte für fb:app_id,og:url,og:type,og:title sehen können, würde dieses Problem nicht auftreten.

Sonst können Sie überprüfen, die "URLs" Abschnitt am Ende der Seite und klicken Sie auf die "See exactly what our scraper sees for your URL" link.On klicken Sie auf den Link können Sie den HTML-Code Ihrer Website im Browser sehen. Das wird Ihnen helfen, das Problem zu beheben.

0

BP RAM ist richtig, wenn Sie seinen Schritten folgen, sollten Sie in der Lage sein, das Problem zu lokalisieren. (Ich würde upvote, wenn ich könnte; nicht genug Ruf.)

Ich möchte meine Erfahrung teilen, um zu erarbeiten. Ich bin in letzter Zeit auf dasselbe Problem gestoßen. Facebook ignoriert weiterhin alle Meta-Tags und ich bekomme den gleichen # 3502 Fehler.

Ich benutzte schließlich Facebook Debug Tool> "Scraped URL", um meinen Code zu überprüfen. Dieses Tool zeigt Ihnen genau, was Facebook Crawler sieht.

Ich bemerkte, dass PHP-Fehler mit meinem HTML-Code gemischt sind. Diese Fehler sind nie im Quellcode für IE, FF oder Chrome aufgetreten. In meinem Fall hatte das mit meinem Browser-Erkennungscode zu tun. Facebooks Crawler user_agent war nicht auf meiner Liste und verursachte, dass mein Erkennungscode Fehlermeldungen erzeugte, die das HTML Markup durchbrachen. Ich habe meine Funktion repariert und alles hat wieder angefangen zu arbeiten!

Ich schlage vor, Sie Ihre Website überprüfen: (. Oder verwenden https://developers.facebook.com/tools/debug, geben Sie Ihre URL und drücken Sie "Scraped URL" am unteren Rand der Seite) http://developers.facebook.com/tools/debug/og/echo?q=YOUR_WEBSITE_URL_HERE

prüfen, ob es sind Abfallcodes, die in den Abschnitt > </head > gemischt sind. Wenn dies der Fall ist, kann Facebook die Meta-Tags nicht analysieren.

Verwandte Themen