Standard v1.1 と X API v2 の比較
- 共通点
- リクエストパラメータとオペレーター
- ポスト編集履歴とメタデータのサポート
- 相違点
- エンドポイント URL
- App と Project の要件
- 認証方式
- ルール数とストリームの永続性
- レスポンスデータ形式
- リクエストパラメータ
- リカバリーおよび冗長性機能の有無
- クエリオペレーター
類似点
statuses/filter エンドポイントには、ストリームをフィルタリングするためにリクエストと一緒に渡せるパラメータがいくつか用意されています。v2 の filtered stream では代わりに、ブールロジックを使って組み合わせることができる一連のオペレーターを使用して、目的の投稿をフィルタリングします。利用可能なオペレーターの中には、既存の Standard v1.1 パラメータをそのまま置き換えられるものもあります。
次の Standard v1.1 リクエストパラメータには、X API v2 における同等のオペレーターがあります。
| Standard | X API v2 |
|---|---|
| follow - カンマ区切りのユーザーIDのリスト。どのユーザーの投稿をストリームに配信するかを指定します。 | 特定ユーザーに関連する投稿を見つけるのに役立つ複数のオペレーター: * @ * from: * to: * など |
| track - カンマ区切りのフレーズのリスト。どの投稿をストリームに配信するかを決定するために使用されます。 | 特定のキーワードに関連する投稿を見つけるのに役立つ複数のオペレーター: * keyword * “exact phrase match” * # * など |
違い
- Standard v1.1 エンドポイント:
- X API v2 エンドポイント:
- JSON のルートレベルでは、Standard エンドポイントはポストオブジェクトを statuses 配列で返す一方、X API v2 は data 配列で返します。
- Retweeted および Quoted の “statuses” を参照する代わりに、X API v2 の JSON では Retweeted および Quoted ツイートを参照します。contributors や user.translator_type などの多くのレガシーかつ非推奨フィールドは削除されます。
- ポストオブジェクトの favorites と user オブジェクトの favourites の両方を使用する代わりに、X API v2 では like という用語を使用します。
- X では、値を持たない JSON の値 (たとえば null) はペイロードに書き込まないという規約を採用しています。ポストおよび user の属性は、値が null でない場合にのみ含まれます。
- conversation_id フィールド
- context と entities を含む、2 つの新しい annotations フィールド
- いくつかの新しい metrics フィールド
- 特定のポストに対して誰が返信できるかを示す、新しい reply_setting フィールド
| 標準 v1.1 パラメータ | 詳細 |
|---|---|
| locations - カンマ区切りの経度と緯度のペアのリストで、投稿をフィルタリングするための境界ボックスの集合を指定します。 | X API v2 では、位置情報ベースのオペレーターはまだ提供していません。 |
| Delimited | v1.1 エンドポイントでは、これを文字列長に設定すると、ストリーム内のステータスが区切られることを示し、クライアントはステータスメッセージの終わりまでに何バイト読み取ればよいかを把握できます。 この機能は X API v2 では利用できません。 |
| Stall_warnings | v1.1 エンドポイントでは、このパラメータを true に設定すると、クライアントが切断される危険がある場合に、定期的なメッセージが配信されます。 X API v2 では、stall warning はデフォルトで送信され、一定間隔で新しい行が送られます。 |
- Conversation IDs - X 上で会話が展開されると、その会話に含まれる投稿を示す conversation ID が利用可能になります。会話内のすべての投稿は、その会話を開始したポストの ID を conversation_id として持ちます。
- conversation_id:
- X Annotations は、投稿に関するコンテキスト情報を提供し、entity と context のアノテーションを含みます。Entities は、人、場所、製品、組織で構成されます。Contexts は、エンティティが属するドメインやトピックです。例えば、ポスト内で言及されている人物には、その人物がアスリート、俳優、政治家のいずれであるかを示すコンテキストが付与される場合があります。
- context: - 関心のあるコンテキストでアノテーションされた投稿にマッチします。
- entity: - 関心のあるエンティティでアノテーションされた投稿にマッチします。
コードサンプル
フィルター済みストリーム (v2) にルールを追加する
cURL
フィルター済みストリームに接続する (v2)
cURL