メインコンテンツへスキップ
最新バージョンである X API v2 は、大きなアップデートです。そのため、この移行セクションは次のようないくつかのパートに分けています。
X API v2 の新機能X API v2 向けに新たに提供されたエンドポイントや機能について確認できます。
移行の準備はできていますか?一連のガイドと手順に沿って、移行を開始しましょう。
データ形式移行ガイドこれまで standard v1.1 や enterprise のデータ形式に対応していたデータパーサーを、どのように移行・再設計するかを学びます。
X API エンドポイント対応表standard v1.1 および enterprise のエンドポイントが、新しい X API v2 のエンドポイントにどのように対応づけられるかを確認します。

X API v2 とは?

X API v2 は現在、主要な X API であり、プロダクトへの投資とイノベーションの中心となっています。私たちはデベロッパーのみなさんと協力し、多様なデベロッパーコミュニティをより良く支援できる次世代の X API を構築しました。デベロッパーからのフィードバックに基づき、より幅広いニーズに対応できるよう API を再構築し、新しい機能やエンドポイントを導入し、デベロッパーエクスペリエンスを改善しました。 X API v2 は現在、主要な X API であり、プロダクトへの投資とイノベーションの中心となっています。ここ数年にわたり、私たちはデベロッパーと協力して API を再構築し、より幅広いニーズに対応し、新しい機能やエンドポイントを導入し、デベロッパーエクスペリエンスを向上させてきました。私たちは今後もオープンなデベロッパープラットフォームを構築し続けることにコミットしており、みなさんが X API v2 を使ってどのようなものを構築するのか、とても楽しみにしています。

なぜ移行するのか?

X API v2 は、よりモダンで持続可能な基盤の上に構築されており、標準の v1.1 やエンタープライズ製品向けの改善された代替エンドポイントに加えて、まったく新しい機能も提供しています。レガシー API (v1.1 およびエンタープライズ) をご利用のお客様には、最終的にこれらを非推奨とする予定であるため、v2 への移行を開始することを強く推奨します。X API を使用して公開の会話を取得・分析し、X 上の人々とやり取りし、新しい価値を生み出してください。 このセクションでは、エンドポイントと機能について説明します。

V2 endpoints

v2 endpoints の全一覧と、それぞれに対応する pre-v2 endpoint については、次のガイドを参照してください。 X API v2 の多くの endpoint は既存 endpoint の置き換えですが、いくつかの新しい endpoint も追加しています。以下は v2 で新たに提供した endpoint の例です。
  • 人々が X Spaces をより活用できるようにし、開発者が音声会話の未来を形作ることに貢献できるようにするための Spaces endpoints
  • 不適切で攻撃的な返信や、注意をそらしたり誤解を招いたりする返信の影響を、大規模に抑制するツールを構築できるようにする Hide replies
  • リストをピン留めおよびピン留め解除する、あるいは特定ユーザーのピン留めされたリストを取得できる、新しい Lists endpoints。
  • 保存しているユーザーおよびツイートデータがポリシーに準拠していることを確認できる、新しい batch compliance endpoints

新機能

X API v2 には、X API をより有効に活用するための新機能も含まれています。多くの新機能は、皆さまからのフィードバックに基づいており、以前はエンタープライズ顧客のみに提供されていた機能も含まれます。 API の改善点には、次のようなものがあります。

新規および更新されたレスポンスオブジェクトを確認する

v2 エンドポイントでは、次の 6 つのデータオブジェクトが利用できます。
ObjectDescription
Tweetツイートオブジェクトには、idtextcreated_at などのルートレベルのフィールドが多数含まれます。ツイートオブジェクトは、usermediapollplace など複数の子オブジェクトの親オブジェクトでもあります。
Useruser オブジェクトには、参照されているユーザーを記述する X ユーザーアカウントのメタデータが含まれます。
SpacesSpace オブジェクトは、statehost_idis_ticketedlang などのフィールドで構成されます。
ListsList オブジェクトには、descriptionmember_countowner_id など、要求されたリストに関する基本情報が含まれます。
Mediaツイートにメディア (画像など) が含まれている場合、media.fields パラメータを使用して media オブジェクトをリクエストでき、その中には media_keytypeurlpreview_image_url などのフィールドが含まれます。
Pollツイートに含まれる投票は、いずれのエンドポイントにおいてもプライマリオブジェクトではありませんが、ツイートオブジェクト内で取得して展開できます。
Placeplace オブジェクトは、place_idgeo オブジェクト、country_code などのフィールドで構成されます。この情報は、ツイートを特定したり、位置情報に基づいてツイートを分析したりするために使用できます。
フィールドと expansions の使い方の詳細をご覧ください。

受信するオブジェクトとフィールドを柔軟に選択する

GET エンドポイントにリクエストを送信すると、そのエンドポイントに関連する主要なデータオブジェクトが返され、その中には一連のデフォルトフィールドが含まれます。たとえば、Tweet オブジェクトはデフォルトで idtext フィールドを返します。 リクエストで追加のフィールドを取得したい場合は、fields パラメータと expansions パラメータを使用する必要があります。expansions パラメータを使用すると、ユーザーのピン留めされた Tweet やメディアオブジェクトなどの関連データオブジェクトを取得できます。一方、fields 系のパラメータを使用すると、デフォルトに加えて、返されるオブジェクト内の特定のフィールドだけを指定してリクエストできます。 以下は、X API v2 の各エンドポイントで指定できる expansions の一覧です。
Object / ResourceAvailable Expansions
Tweetsauthor_id, edit_history_tweet_ids, entities.mentions.username, in_reply_to_user_id, referenced_tweets.id, referenced_tweets.id.author_id, attachments.poll_ids, attachments.media_keys, geo.place_id
Userspinned_tweet_id
Spacesinvited_user_ids, speaker_ids, creator_id, host_ids, topic_ids
fields と expansions の使い方の詳細をご覧ください。

ツイート、ユーザー、スペース、メディアオブジェクトで利用できる新しいメトリクス

ツイート、ユーザー、スペース、リスト、およびメディアオブジェクトで利用できるメトリクスが追加されました。これらのメトリクスには公開・非公開の両方があり、一部のメトリクスはツイート広告において、オーガニックまたはプロモーションのコンテキストごとに分けて確認できます。 利用可能なメトリクスの詳細をご覧ください。
ObjectAvailable MetricsPublic MetricsPrivate MetricsOrganic MetricsPromoted Metrics
ツイートretweet_count✔️✔️✔️
quote_count✔️
like_count✔️✔️✔️
reply_count✔️✔️✔️
impression_count✔️✔️✔️
url_profile_clicks✔️✔️✔️
url_link_clicks✔️✔️✔️
ユーザーfollower_count✔️
ユーザーfollowing_count✔️
メディアview_count✔️
メディアplayback_0_count✔️
スペースparticipant_count✔️

ツイートを編集する

X API v2 のエンドポイントでは、編集済みツイートに関するメタデータを提供します。Edit Tweet 機能は、まず 2022 年 9 月 1 日に X 社員向けのテストとして導入されました。この日以降、対象となるツイートは 30 分間、最大 5 回まで編集できます。Edit Tweets について詳しくは、こちらを参照してください。 X API v2 を使用すると、開発者は次のことを把握できます。
  • 作成時点でそのツイートが編集対象だったかどうか。一部のツイート (投票付きツイートや予約投稿されたツイートなど) は編集できません。
  • ツイートは 30 分間編集可能で、最大 5 回まで編集できます。編集可能なツイートについては、残りの編集可能時間と、あと何回編集できるかを確認できます。
  • 表示しているツイートが編集済みバージョンかどうか (ほとんどの場合、API はツイートの最新バージョンを返しますが、ツイート ID を指定して特定の過去バージョンが要求された場合はその限りではありません) 。
  • ツイートの編集履歴全体。
  • ツイートの各バージョンに紐づくエンゲージメント。

スレッド形式の会話を追跡する

新しい Tweet フィールドにより、ツイートがどの会話スレッドに属しているかを特定できます。会話 ID は、その会話を開始したツイートの Tweet ID です。会話のトラッキングの詳細をご覧ください。

移行の準備ができたら

v2 エンドポイントを使用するには、次のものが必要です。 Project 内の App のキーとトークンを使用することが重要です。Project の外にある App のキーやトークンを使用している場合は、v2 エンドポイントにリクエストを送信できません。 開発者アカウントを取得したら、開発者コンソール で上記のすべてを設定できます。

認証

新しい Twitter API では、異なるエンドポイントへアクセスするために、OAuth 1.0a User Context と OAuth 2.0 ベアラートークンという 2 種類の認証パターンを使い分けます。これらはエンドポイントへのリクエスト時に、それぞれ異なる用途を持ちます。 OAuth 1.0a User Context は、Twitter ユーザーに代わってリクエストを行う場合に必要です。
OAuth 2.0 ベアラートークンは、開発者の App に代わってリクエストを行う場合に必要です。

ツールとコード

新しいエンドポイントや機能に慣れ、作業をすぐに開始できるように、いくつかの手段を用意しています。
  • Postman クライアントを使って個々のエンドポイントに対してリクエストを送信し、接続できる Twitter の Postman コレクション を提供しています。これは認証をテストし、エンドポイントを試すための手軽な方法です。
  • また、Twitter がサポートするものとサードパーティ製のものの両方を含む、Ruby、Python、Node、Java などのライブラリの一覧も提供しています。さらに詳しい情報は、ツールとライブラリのページ を参照してください。

更新されたエンドポイントへの移行

新しい Twitter v2 エンドポイントの利用を開始するにあたり、旧バージョンと比べて更新された各エンドポイントの機能を確認できるよう、詳細な移行ガイドを用意しています。

新しいデータフォーマットへの移行

v1.1 または enterprise から v2 へ移行する際には、データの提供形式が大きく変わっていることを理解しておくことが重要です。新しいフィールドを追加し、フィールドの並び順を変更し、場合によっては要素自体を削除しています。 これらの変更について詳しく知るために、v2 以前のデータフォーマットのフィールドを新しいフィールドにマッピングし、新しいフィールドのリクエスト方法を説明する一連のガイドを作成しています。 このマイグレーションハブ内の data formats migration セクション、または以下の個別のデータフォーマットガイドを参照してください。

今後について

しばらくこのプラットフォームを利用している方は、多くの新しいエンドポイントが既存の standard v1.1enterprise の各エンドポイントと整合していることに気付くでしょう。実際、将来的にはこれらが 3 つのバージョンすべてを置き換えることを想定しています。 X API エンドポイントの対応関係 が、これまでのバージョンとどのように対応しているかを示した表も用意しています。 この先に何が追加される予定か知りたい場合は、プロダクトロードマップ をご覧ください。 すでにリリース済みの内容を確認したい場合は、変更履歴 も用意していますのでご覧ください。

次に何を構築すべきでしょうか?

X API v2 の機能をさらに拡張していくにあたり、今後も皆さんからの声を伺いたいと考えています。皆さんからのフィードバックを歓迎しています。 すでに寄せられているアイデアに目を通し、ご自身のニーズと合致するものに支持を示し、ぜひフィードバックもお寄せください。