0

私の Wordpress ベースのサイト (dev: volved.dyndns-blog.com) では、ユーザーは Facebook 経由で友達を招待できます。fb.ui send message 呼び出しを介して招待が送信されると、次がリンク パラメータとして追加されます。

http://volved.dyndns-blog.com/login/?action=register&invite_id= {3CBBBEB8-6ACF-4319-AF07-3B6C22C1091D}

通常、「invite_id」パラメータはリダイレクトを引き起こします。Facebook がリダイレクトを検出するとサーバー エラー 500 を返すことがわかったので、ユーザー エージェントで「facebook」を検出し、リダイレクトを行わないようにコードを変更しました。それでも、fb.ui 呼び出しは失敗しています。場合によっては、FB がリンクのテストさえしていないように見えるため、私のデバッグ作業は妨げられています。コード 500 で失敗するだけです。おそらく、これは何らかのキャッシュが原因です。パターンはまだわかりませんが、自分のサイトの FB による ping が失敗した後に発生するようです。後で試してみると、FB がサイトにアクセスしていることがわかります。

  1. fb.ui 送信でサーバー 500 エラーを引き起こす他の条件はありますか?
  2. FB は、リクエストしているサイトにヒットすることなく、後続の試行を自動的に失敗させますか?
4

1 に答える 1

1

わお。私や他の人が時間を無駄にできるように、5 分間のドキュメンテーション時間を節約してくれた Facebook エンジニアに感謝します。見つけたことを報告します。他の人が追加またはより正確な情報を見つけた場合は、遠慮なくコメントしてください。

FB は、 http://my.domain/page/?invite=xyzの fb.ui 送信リンクに移動したときに受信した OG:Url をテストすることがわかりました。

OG:url は「http://my.domain/page」である必要があります。パラメータは無視されます。リダイレクトは許可されていません。私の場合、ページにinvite_idパラメーターがあるときはいつでも、リダイレクトされます。リクエストのユーザー エージェントをチェックすると、FB ボットを検出できました。ただし、時々、FB も bitlybot を送信することがわかりました。だからあなたもそれをキャッチする必要があります。将来、別のボットが使用されると、おそらく問題が発生します。

FB は結果をキャッシュするため、各 URL をテストするチャンスは 1 回だけです。再試行しても、FB はリンクをテストしません。fb.ui が成功した場合、引き続き成功します。そうしないと、失敗し続けます。このキャッシングは持続します - まあ、推測する必要があります。

お役に立てれば。再び生産性を高める時が来ました...

于 2012-06-19T22:28:34.207 に答える