はじめに
切断後の取り逃したデータの復旧: バックフィル
curl 'https://api.x.com/2/tweets/search/stream?backfill_minutes=5' -H "Authorization: Bearer $ACCESS_TOKEN"
エンタープライズのアクセス権がない場合、または切断時間が5分を超えていたと判定した場合は、recent search エンドポイント またはリカバリ機能を利用して取り逃したデータをリクエストできます。ただし、search Posts エンドポイントには sample:、bio:、bio_name:、bio_location: の各オペレーターが含まれず、keyword および #hashtag オペレーターでアクセントやダイアクリティカルマークを使用する場合のマッチング動作にもいくつかの差異があります。これらの差異により、filtered stream エンドポイント経由で受信できた可能性のあるすべての Post を完全には復旧できない場合があります。
切断後の取り逃したデータの復旧: リカバリ
エンタープライズのアクセス権を持つ Project を使用している場合、5分のバックフィルウィンドウ内に再接続できない際に、過去24時間の取り逃したデータを復旧するためにリカバリ機能を使用できます。
ストリーミングのリカバリ機能により、バックフィルウィンドウを24時間に拡張できます。リカバリは取り逃したデータの期間を「再生」できるようにします。リカバリストリームは、‘start_time’ と ‘end_time’ リクエストパラメータを使用して接続リクエストを行ったときに開始されます。接続されると、リカバリは指定された期間を再ストリームし、その後切断します。
同時に2件のリカバリへの並行リクエスト、すなわち「2つのリカバリジョブ」を行うことができます。リカバリは、開始時刻と終了時刻が定義される点を除き、技術的にはバックフィルと同様に機能します。リカバリ期間は1つの時間範囲につき1回です。
| Name | Type | Description |
| start_time | date (ISO 8601) | YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339)。 UTC における復旧の開始時刻を示す日時。 |
| end_time | date (ISO 8601) | YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339)。 UTC における復旧の終了時刻を示す日時。 |