5

Graph API を使用して、/me/feed 接続に POST することでストーリーを公開します。Facebook から成功またはエラーの結果が返されます。ここまでは順調ですね。時折、API に時間がかかり、接続がタイムアウトすることがあります。その場合、リクエストが成功したか失敗したかはわかりません (つまり、リクエストが Facebook に届かなかったのか、それとも成功したのに結果が返ってこなかったのか)。この状況をどのように処理しますか?

詳細: Facebook や Twitter に多くの投稿を公開しているため、タイムアウトの状況が頻繁に発生します。Twitterを使えば、解決は簡単です。要求が最初にタイムアウトした場合は、単純に再試行します。Twitter は重複を検出するため、投稿が最初に正常に公開された場合、2 回目のリクエストで「重複ステータス」エラーが表示され、再試行する必要がないことがわかります。

しかし、Facebook は重複を検出しないため、公開要求を再試行すると、投稿の 2 つのコピーがユーザー ウォールに公開される危険性があります。これは好ましくありません。一方、再試行しないと、投稿がまったく公開されないリスクがあります。考え?

4

1 に答える 1

-2

Facebook から成功またはエラーの結果が返されます。

うーん。Graph API に投稿すると、エラーまたは投稿の ID が返されます。成功メッセージは表示されません。API で使用している SDK は何ですか?

時折、API に時間がかかり、接続がタイムアウトすることがあります。

通常、動作が遅いときは、channelUrlが指定されていないことが原因です。https://developers.facebook.com/docs/reference/javascript/を参照してください

チャネル ファイルをできるだけ長くキャッシュしておくことが重要です。このファイルを提供するときは、有効期限が長い有効な Expires ヘッダーを送信する必要があります。これにより、チャネル ファイルがブラウザによってキャッシュされます。これは、スムーズなユーザー エクスペリエンスにとって重要です。適切なキャッシュがないと、クロスドメイン通信が非常に遅くなり、ユーザーのエクスペリエンスが大幅に低下します。

于 2012-01-11T16:29:46.317 に答える