1

ビューctpのcake php 1.3では、次のコードがあります。

$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
   }
}

誰もそれを解決する方法を知っていますか?

4

2 に答える 2

6

この問題は、ページがログイン ユーザーに対して制限されている場合、または何らかのセッション ロジックがある場合に発生する可能性があります。

このリンクからデバッグ ツールを使用できます。

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 コードが表示されます。これは、問題をデバッグするのに役立ちます。

于 2012-04-16T05:25:30.067 に答える
0

BP RAMは正しいです。彼の手順に従うと、問題を特定できるはずです。(できれば賛成します。評判が十分ではありません。)

私の経験を共有して詳しく説明したいと思います。最近同じ問題が発生しました。Facebookはすべてのメタタグを無視し続け、同じ#3502エラーが発生します。

私はついにFacebookDebugTool>「ScrapedURL」を使用してコードを検査しました。 このツールは、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を使用して、URLを入力し、ページの下部にある[Scraped URL]を押します。)

<head></head>セクションにガベージコードが混在していないか確認してください。存在する場合、Facebookはメタタグの解析に失敗します。

于 2012-09-17T06:32:09.127 に答える