便利なツール
このエンドポイントの連携に役立ついくつかの主要な概念に進む前に、まず以下について理解しておくことをおすすめします:Postman
Postman はエンドポイントをテストするのに便利なツールです。それぞれの Postman リクエストには、利用可能なパスパラメータやボディパラメータがすべて含まれており、何が利用できるかを素早く把握できます。Postman コレクションの詳細については、「Using Postman」 ページをご確認ください。コードサンプル
このエンドポイントをお好きなプログラミング言語のコードで動かしてみたいですか?出発点として利用できるいくつかの異なるコードサンプルが Github ページ で公開されています。サードパーティライブラリ
コミュニティ提供のサードパーティライブラリを活用して、開発を始めましょう。適切なバージョンタグを検索することで、v2 エンドポイントに対応したライブラリを見つけられます。主要な概念
認証
すべての X API v2 エンドポイントでは、キーとトークンと呼ばれる認証情報でリクエストを認証する必要があります。このエンドポイントへのリクエストは、OAuth 1.0a User Context、App only、または OAuth 2.0 Authorization Code with PKCE のいずれかで認証できます。 OAuth 1.0a User Context を利用する場合、成功するリクエストを行うために API Key とユーザー Access Token のセットを使用する必要があります。access token はリクエストを代行するユーザーに紐づいている必要があります。他のユーザーのために access token を生成したい場合は、そのユーザーは 3-legged OAuth フローを通じて App を承認する必要があります。 OAuth 1.0a は扱いが難しい場合があります。この認証方式に不慣れな場合は、ライブラリや Postman のようなツール、あるいは OAuth 2.0 または App only を利用したリクエスト認証をおすすめします。 OAuth 2.0 Authorization Code with PKCE では、アプリケーションのスコープをより細かく制御でき、複数のデバイスにまたがる認可フローが可能です。OAuth 2.0 では、ユーザーの代理としての特定の権限を付与するきめ細かいスコープを選択できます。 App で OAuth 2.0 を有効化するには、Developer Console の App settings セクションにある App の認証設定で有効化する必要があります。 App only では、リクエストに App only Access Token を含めるだけで済みます。App only Access Token は developer App 内で直接生成するか、POST oauth2/token エンドポイントを使って生成できます。Developer Console、Project、developer App
X API v2 エンドポイントで動作する認証情報を取得するには、developer account に登録し、そのアカウント内で Project を設定し、その Project 内で developer App を作成する必要があります。その後、developer App 内でキーとトークンを確認できます。レート制限
日々、何千人もの開発者が X API へリクエストを送信しています。この膨大なリクエスト量を管理するために、各エンドポイントにはレート制限が設定されており、App の代理として、または認証済みユーザーの代理として実行できるリクエスト数が制限されます。 このエンドポイントは App レベルとユーザーレベルの両方でレート制限されます。App のレート制限とは、開発者が任意の App から (API Key と API Secret Key の利用、あるいは Bearer Token の利用により) 一定期間内にこのエンドポイントへ実行できるリクエスト数の上限を意味します。ユーザーのレート制限とは、リクエストを代行する認証済みユーザーが、任意の developer App を横断して、一定回数までしか List Post lookup を実行できないことを意味します。 以下の表は各エンドポイントのレート制限を示しています。Fields と expansions
X API v2 の GET エンドポイントでは、fields と expansions と呼ばれるツールを使って、API から返すデータを正確に選択できます。expansions パラメータは、ペイロード内で参照されるオブジェクトを展開できるようにします。たとえば、List Posts のルックアップでは以下の expansions を取得できます:
author_id
fields パラメータでは、異なるデータオブジェクト内のどのフィールドを受け取るかを正確に選択できます。このエンドポイントは主に Post オブジェクトを返します。デフォルトでは、Post オブジェクトは id と text フィールドを返します。tweet.created_at や tweet.lang などの追加フィールドを受け取るには、fields パラメータで明示的にリクエストする必要があります。
fields と expansions を組み合わせて使用するためのガイドを X API v2 データディクショナリに追加しました。
以下の表は lookup エンドポイントで利用可能なフィールドと expansions を示しています: