Skip to main content

X API の投稿ルックアップエンドポイントの比較

v2 の投稿ルックアップエンドポイントは、従来の v1.1 の標準的な GET statuses/lookupGET statuses/show エンドポイントを置き換えるものです。このガイドは、これらの旧バージョンのエンドポイントから X API v2 へ移行する開発者向けです。

エンドポイント比較表

説明Standard v1.1X API v2
サポートされる HTTP メソッドGETGET
ホストドメインhttps://api.x.comhttps://api.x.com
エンドポイントパス/1.1/statuses/show.json, /1.1/statuses/lookup.json/2/tweets
認証OAuth 1.0a ユーザーコンテキストOAuth 1.0a ユーザーコンテキスト、OAuth 2.0 App-Only、OAuth 2.0 Authorization Code with PKCE
ポストの JSON 形式Standard v1.1 形式X API v2 形式fieldsexpansions パラメーターによって決定される (v1.1 との後方互換性なし)
特定の fields の選択をサポート
annotations フィールドをサポート
新しい metrics フィールドをサポート
conversation_id フィールドをサポート
ポスト編集履歴を提供
Project に関連付けられた developer App の認証情報が必要

Standard v1.1 と X API v2 の比較

標準版 v1.1 の GET statuses/show や GET statuses/lookup を利用している場合、このガイドは標準版と X API v2 のポスト参照エンドポイント間の共通点と相違点を理解するのに役立ちます。 X API v1.1 のデータ形式X API v2 の形式 の違いをすばやく確認するには、ビジュアルデータ形式移行ツールも参照してみてください。
  • 類似点
    • OAuth 1.0a ユーザーコンテキスト
    • 1 回のリクエストあたりのポスト数の上限
    • ポストの編集履歴とメタデータのサポート
  • 相違点
    • エンドポイントの URL
    • App および Project の要件
    • レスポンスのデータ形式
    • リクエストパラメーター

共通点

OAuth 1.0a ユーザーコンテキスト認証方法

標準エンドポイントは OAuth 1.0a User Context をサポートしており、新しい X API v2 のポストルックアップエンドポイントは OAuth 1.0a User Context と OAuth 2.0 App-Only の両方をサポートします。したがって、以前に標準 v1.1 のポストルックアップエンドポイントのいずれかを使用していた場合、X API v2 のエンドポイントへ移行しても、同じ認証方法を引き続き使用できます。 App-Only 認証は、使い始めるうえで最も手軽な方法である可能性が高いです。App Access Token の生成方法については、この OAuth 2.0 App-only ガイドを参照してください。

リクエストあたりのポスト数の上限

v1.1 の GET statuses/lookup エンドポイントでは、1 回のリクエストで最大 100 件のポストを指定できます。これは GET /tweets エンドポイントにも適用されます。100 件すべてのポストを指定するには、クエリパラメータとして ids パラメータを使用し、カンマ区切りの Post IDs のリストを指定します。 ポストの編集履歴とメタデータのサポート どちらのバージョンも、編集履歴を記述するメタデータを提供します。詳細については、Post lookup の APIリファレンスおよび Edit Posts fundamentals ページ を参照してください。

違い

エンドポイントURL

  • Standard v1.1 のエンドポイント:
    • https://api.x.com/1.1/statuses/show
    • https://api.x.com/1.1/statuses/lookup
  • X API v2 のエンドポイント:
    • https://api.x.com/2/tweets
    • https://api.x.com/2/tweets/:id

App および Project の要件

X API v2 のエンドポイントでは、認証のために、Project に紐づけられた developer App のクレデンシャルが必要です。X API v1.1 のエンドポイントでは、App のクレデンシャル、または App に関連付けられた App のクレデンシャルを使用できます。

レスポンスデータ形式

standard v1.1 エンドポイントと X API v2 エンドポイントの大きな違いの 1 つは、ペイロード内でフィールドをどのように指定するかという点です。 standard エンドポイントでは、多くのレスポンスフィールドがデフォルトで含まれており、パラメータを使用して追加のフィールドを指定することができます。 一方、X API v2 では、デフォルトでポストの idtext フィールドのみが返されます。追加のフィールドやオブジェクトを取得するには、fields および expansions パラメータを使用する必要があります。展開されたフィールドはレスポンス内の includes オブジェクトに含まれ、ID を照合することで、メインのポストオブジェクトと対応付けることができます。 フィールドと expansions の使用方法については、fields と expansions の使い方ガイドを参照してください。データ形式の移行ガイドでは、standard v1.1 のフィールドを新しい v2 のフィールドにマッピングしています。 さらに、X API v2 では、ポストオブジェクトや user オブジェクトを含むオブジェクトに対して新しい JSON 設計が導入されています。
  • standard エンドポイントはポストオブジェクトを statuses 配列で返しますが、X API v2 では data 配列を使用します。
  • X API v2 では、「statuses」という用語は使用されず、代わりにリツイートおよび引用ツイートという用語が用いられます。
  • like などの新しい用語が、favoritesfavourites といった用語を置き換えています。
  • 値を持たない属性 (例: null) は、X API v2 のペイロードには含まれません。
X API v2 のポストオブジェクトには、次のような新しいフィールドが含まれます。
  • conversation_id
  • 2 つの新しい annotations フィールド (contextentities)
  • 新しい metrics フィールド
  • 特定のポストに誰が返信できるかを示す reply_setting フィールド

リクエストパラメータ

次の standard v1.1 のリクエストパラメータには、X API v2 における対応するパラメータがあります。
StandardX API v2
idids
一部の standard v1.1 パラメータは、X API v2 ではサポートされていません
Standardコメント
tweet_modefields と expansions の機能に置き換えられました。
trim_userfields と expansions に置き換えられました。ユーザーデータには author_id の expansion と user.fields を使用してください。
include_my_retweet認証ユーザーによるリツイートされたポストのリツイート元ポストの ID を返します。
include_entitiesペイロード内の entities を制御するために fields と expansions を使用してください。
include_ext_alt_textalt テキストが存在する場合、media entity に ext_alt_text フィールドを追加します。
include_card_uri広告カードが添付されている場合に card_uri を追加します。
mapv1.1 でのフィールドの null 化とは異なり、利用できないポストについて、X API v2 ではポスト ID とエラーメッセージを返します。

cURL リクエスト

以下の cURL リクエストは、Standard v1.1 エンドポイントと、それに対応する v2 エンドポイントを示しています。ヘッダー内の ACCESS_TOKEN を、あなたの App のアクセストークンに置き換えてください。v2 のエンドポイントの場合、トークンは Project 内の developer App に属している必要があります。 v1.1 からのレスポンスペイロードは v2 とは異なります。v2 では、fields パラメーターと expansions パラメーターを使って、返却されるフィールドを指定できます。 Standard v1.1 GET statuses/lookup および v2 GET /tweets エンドポイント
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/lookup.json?id=1460323737035677698%2C1460323743339741184' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
  curl --request GET \
  --url 'https://api.x.com/2/tweets?ids=1460323737035677698%2C1460323743339741184&tweet.fields=created_at&expansions=author_id&user.fields=created_at' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
Standard v1.1 の GET statuses/show/:id エンドポイントと v2 の GET /tweets/:id エンドポイント
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/show.json?id=1460323737035677698' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
curl --request GET \
  --url 'https://api.x.com/2/tweets/1460323737035677698?tweet.fields=created_at&expansions=author_id&user.fields=created_at' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'