28

Facebookデバッガーをデバッグする方法は?

問題の詳細な説明:

「OpenGraphProtocolIn Posts and Pages」プラグインを使用して、セルフホストのワードプレスサイトの投稿のOGデータを手動で入力します。Facebookで共有する前に、FBデバッガツールで投稿のURLをテストすると、結果は常に正しいものになります。

しかし、最近、デバッガーが次のエラーメッセージを返しました:「URLのリンティングエラー:URLのリンティング中に内部エラーが発生しました」と私は何日もそれを取り除くことができません。何度かデバッグを試みましたが、役に立ちません。行き詰まっています。解決策をグーグルで検索しましたが、見つかりませんでした。私は間違っているかもしれませんが、このエラーメッセージはまれなようです。

私は専門家ではありませんが、私の投稿のダブルOGデータによってデバッガツールがどういうわけか混乱したと思います。

  1. プラグイン「OpenGraphProtocolInPostsandPages」に手動で挿入したOG情報。
  2. 動画が投稿に挿入されると、JWPLayerワードプレスプラグインによって自動的に生成されるOG情報。

最初のものだけが必要です。通常、JWPlayerのカスタムフィールドを削除しますが、今回はそれを忘れました。

デバッガーがエラーメッセージを返した後、JWPカスタムフィールドを削除しました。競合が発生することを期待して、投稿を保存し、デバッグを再試行しました。デバッガーはエラーメッセージを再度返しました。

Graph APIは私の投稿に関する古い情報を認識し、それをフラッシュしませんが、投稿のすべてを修正し、その後数回デバッグしました。デバッガーが私のURLにエラーを見つけ、それを忘れないように思えます。

投稿を削除し、そのコンテンツをコピーして新しい投稿に貼り付け、同じタイトルを付けました(短いパーマリンクをたどる可能性のある訪問者を失いましたが、とにかく)。デバッガーは、再公開された投稿に対して同じように反応します。再度エラーメッセージが表示されます。デバッガーで他の投稿をテストしましたが、すべてが完璧です。デバッガーがこの特定のURLを何かのために記憶していることは明らかです。URLに別のタイトルで投稿を再公開すると、問題は解決します。

問題のあるURLをFacebookに共有しましたが、奇妙なことに正しいデータが表示されています。タイトル、説明、サムネイルなど、すべて問題ないようです。ただし、投稿の共有ボタンをテストしたところ、Facebookで間違ったデータが表示されましたが、すでに修正しました。デバッガーは、投稿に含まれていないデータを認識します。そのため、訪問者がFacebookで間違った情報を共有しないように、共有ボタンを削除せざるを得ませんでした。

今、私は逆説的な状況にあり、デバッガーをデバッグする方法を見つけようとしています。URLを忘れて、ゼロからやり直すことができるように、メモリをフラッシュする方法は?

ご覧のとおり、私はこれらの問題の専門家ではありません。私はphpとcssの知識がなくてもサイトを構築するために膨大な時間とリソースを費やしましたが、これらのFacebookのバグのために、今ではすべてが地獄に落ちています。私はこの無意味に対処する貴重な時間を失っています。なぜすべてがそれほど複雑でなければならないのですか?私はすべての開発者にお願いします、一つの良い、シンプルで、ユーザーフレンドリーで実用的な標準を作り、それに固執してください。複雑にするのはやめてください。このエラーメッセージは今何ですか?デバッガーは、説明も解決策もまったく提供していません。問題を解決する代わりに、それは行き詰まり、それ自体が問題になりました。できることは、エラーが自然に解消されることを期待して待つことだけです。これは純粋な無意味です。

追加の詳細:

これは、GraphAPIが私のURLに表示するものです。そのデータはもう有効ではありませんが、デバッガーはそれを記憶しています。JWPLayerプラグインによって自動的に挿入されたビデオOGを見ることができます。

{
   "url": "http://mydomain/post-title/",
   "type": "video.movie",
   "title": "",
   "image": [
      {
         "url": "http://mydomain/uploads-folder/post-title-video-thumbnail.jpg"
      },
      {
         "url": "http://mydomain/uploads-folder/post-thumbnail.jpg"
      }
   ],
   "video": [
      {
         "url": "http://mydomain/uploads-folder/jw-player-plugin-for-wordpress/player/player.swf?file=http\u00253A\u00252F\u00252Fmydomain\u00252Ffiles\u00252Fvideo-title.flv&controlbar=bottom&dock=false&autostart=false&height=331&width=545&captions.back=false&captions.fontsize=12&captions.state=true&icons=true&playlist.position=none&playlistsize=180&repeat=none&shuffle=false&bufferlength=1&smoothing=true&stretching=uniform&wmode=opaque&mute=false&volume=90&plugins=captions-1\u00252Cgapro-2\u00252C&gapro.accountid=UA-76476476476-1&gapro.trackstarts=true&gapro.trackpercentage=true&gapro.tracktime=true",
         "type": "application/x-shockwave-flash",
         "width": 545,
         "height": 331
      }
   ],
   "description": "",
   "site_name": "here's the name",
   "updated_time": "2012-12-05T20:09:40+0000",
   "id": "754654658476545"

これは、修正後にデバッガーが表示するはずですが、失敗します。ただし、URLをFacebookに貼り付けると、正しく表示されます。

{
   "url": "http://mydomain/post-title/",
   "type": "website",
   "title": "here's the title",
   "image": [
      {
         "url": "http://mydomain/uploads-folder/post-thumbnail.jpg"
      }
   ],
   "description": "This is a story about...",
   "site_name": "my site",
   "updated_time": "2012-12-05T20:11:56+0000",
   "id": "754654658476545"
}

ボタンを介して共有すると、以前の間違ったデータが表示されます。

4

1 に答える 1

1

Facebook クローラーがデータを再取得するように強制します。

https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

Facebook クローラーは、オブジェクトを再スクレイピング (したがって更新) します。

オブジェクト デバッガーでオブジェクト URL が入力されたとき 最初のスクレイプから 30 日ごと アプリが API エンドポイントを使用してスクレイプをトリガーしたとき このグラフ API エンドポイントは、次の呼び出しです。

POST /?id={object-instance-id or object-url}&scrape=true

id パラメータは、オブジェクトの正規 URL またはグラフ内のオブジェクト インスタンスの ID のいずれかです。

于 2016-02-29T10:29:19.773 に答える