標準 v1.1 タイムラインから X API v2 タイムラインへの移行
- 類似点:
- 認証:
- OAuth 1.0a User Context (逆時系列のホームタイムライン、ユーザーポストタイムライン、ユーザーのメンションタイムライン)
- OAuth 2.0 App-Only (ユーザーポストタイムライン)
- 過去データへのアクセス制限: User timeline (ユーザーポストタイムライン) は直近 3200 件のポストにアクセスできます。mentions timeline (ユーザーのメンションタイムライン) は直近 800 件のメンションにアクセスできます。
- ポスト編集履歴およびメタデータのサポート
- レート制限 (ユーザーポストタイムライン)
- リフレッシュポーリング: since_id 以降の新しい結果を取得する機能
- ポスト ID を使ったタイムラインの走査
- 結果の仕様:
- 結果の順序: 結果は逆時系列で返されます
- 返信を除外する機能 (ユーザーポストタイムラインのみ)
- リツイートを除外する機能 (ユーザーポストタイムラインのみ)
- 認証:
- 相違点
- 新しい認証機能:
- OAuth 2.0 App-Only (ユーザーのメンションタイムライン)
- OAuth 2.0 Authorization Code Flow with PKCE (逆時系列のホームタイムライン、ユーザーポストタイムライン、ユーザーのメンションタイムライン)
- アクセス要件: X API v2 の App および Project の要件
- レート制限 (ユーザーのメンションタイムラインおよび逆時系列のホームタイムライン)
- 追加のページネーション方法
- レスポンスごとに異なる max_results (count)
- レスポンスデータの形式
- リクエストパラメータ
- v2 のフィールドおよび expansions を含む、リクエストパラメータに基づいたカスタマイズ可能なデータ形式
- 追加で利用可能なデータ: メトリクス、ポストのアノテーション、投票
- 新しい認証機能:
類似点
since_id を使ったポーリング更新
どちらのバージョンも、since_id を使用して最新の結果をポーリングできます。
ポストIDによるタイムラインの走査
どちらのエンドポイントも、ポストIDの構成方法に基づいて、ポストIDの「タイムスタンプ」を使用してタイムラインを走査する機能を備えています。この機能は概ね同じですが、次の点が異なります。
レスポンスフィルタリングパラメータ
違い
statuses/mentions_timeline エンドポイントは OAuth 1.0a User Context のみをサポートします。X API v2 の user mention timeline エンドポイントは OAuth 1.0a User Context、OAuth 2.0 App-Only、OAuth 2.0 Authorization Code with PKCE をサポートします。 **
X API v2 の user Post timeline エンドポイントを使ってプライベートメトリクスやプロモーテッドメトリクスにアクセスする場合は、OAuth 1.0a User Context か OAuth 2.0 Authorization Code with PKCE を使用し、メトリクスにアクセスしたいポストを投稿したユーザーに紐づくユーザーアクセストークンを渡す必要があります。
エンドポイント URL
X API v2 の timelines エンドポイントでは、ユーザー ID を表すパスパラメータ :id が必要になる点に注意してください。
- Standard v1.1 endpoints:
- X API v2 endpoint:
リクエストパラメータ
レスポンスデータ形式
X API v2 JSON 形式
X API v2 では、API が返すオブジェクト (Post や user オブジェクトなど) に対して、新しい JSON 設計を導入しています。X API v2 の形式や、fields および expansions の使い方について詳しくは、ガイド や、より広範な データディクショナリ を参照してください。
- JSON のルートレベルでは、Standard エンドポイントは Post オブジェクトを statuses 配列で返しますが、X API v2 は data 配列で返します。
- リツイートや引用を「statuses」で参照する代わりに、X API v2 の JSON ではリツイートおよび引用ツイートとして参照します。contributors や user.translator_type のような、多くのレガシー/非推奨フィールドは削除されます。
- Post オブジェクト内の favorites と user オブジェクト内の favorites の両方を使う代わりに、X API v2 では like という用語を使用します。
- X では、値を持たない JSON 値 (例: null) はペイロードに書き込まないという規約を採用しています。Post および user の属性は、null 以外の値を持つ場合にのみ含まれます。
- fields: X API v2 のエンドポイントでは、ペイロードに含めるフィールドを選択できます。たとえば、ポスト、user、Media、Place、Poll オブジェクトには、それぞれ返す (または返さない) ことができるフィールドのリストがあります。
- expansions: ポストオブジェクトの JSON ペイロード内で参照されている関連オブジェクトを展開するために使用します。たとえば、すべての Retweet と Reply は他のポストを参照します。expansions=referenced_tweets.id を設定すると、これらのポストオブジェクトは tweet.fields の設定に従って展開されます。users、polls、media などの他のオブジェクトも展開できます。
- conversation_id
- 2 つの新しい annotations フィールド (context と entities を含む)
- 複数の新しい metrics フィールド
コード例
ユーザーの投稿タイムライン (v2)
cURL
ユーザーのメンションタイムライン (v2)
cURL