メインコンテンツへスキップこのページでは、List Posts のルックアップエンドポイントをシステムに統合する際に知っておくべき、いくつかのツールと重要な概念を説明します。ページは以下のセクションに分かれています。
このエンドポイントの統合に役立つ重要な概念に入る前に、次の内容に慣れておくことをおすすめします。
Postman は、エンドポイントのテストに最適なツールです。各 Postman リクエストには、利用可能な項目をすばやく把握できるよう、すべてのパスおよびボディパラメータが含まれています。Postman コレクションの詳細は、“Postman の使用方法” ページをご覧ください。
お好みのプログラミング言語でこのエンドポイントをセットアップするコードをお探しですか?出発点として使えるコードサンプルをいくつかGitHub ページで公開しています。
コミュニティ提供のサードパーティライブラリを活用して、スムーズに開始しましょう。適切なバージョンタグを確認することで、v2エンドポイントに対応したライブラリを見つけることができます。
すべての X API v2 エンドポイントでは、リクエストをキーやトークンとしても知られる一連の認証情報で認証する必要があります。このエンドポイントへのリクエストの認証には、OAuth 1.0a ユーザーコンテキスト、App only、または OAuth 2.0 認可コード(PKCE 対応)のいずれかを使用できます。
OAuth 1.0a User Context を使用する場合、リクエストを成功させるには API Keys とユーザーの Access Tokens の組み合わせが必要です。Access Tokens は、あなたが代わってリクエストを行うユーザーに関連付けられている必要があります。別のユーザーの Access Tokens を生成したい場合は、そのユーザーが 3-legged OAuth flow を用いてあなたのアプリを承認する必要があります。
OAuth 1.0a は扱いが難しい場合があります。この認証方法に不慣れな場合は、library を利用する、Postman のようなツールを使う、または OAuth 2.0 もしくは App only でリクエストを認証することをお勧めします。
OAuth 2.0 Authorization Code with PKCE は、アプリケーションのスコープをより細かく制御でき、複数デバイス間での認可フローにも対応します。OAuth 2.0 では、ユーザーに代わって特定の権限を付与するきめ細かなスコープを選択できます。
アプリで OAuth 2.0 を有効にするには、開発者ポータルのアプリ設定セクションにある認証設定で有効化する必要があります。
App only では、リクエストに App only Access Token を渡すだけで済みます。App only Access Token は、開発者アプリ内で直接生成するか、POST oauth2/token エンドポイントを使用して生成できます。
X API v2 のエンドポイントで利用できる一連の認証情報を取得するには、開発者アカウントに登録し、そのアカウント内にProjectを作成し、その Project 内に開発者アプリを作成する必要があります。キーやトークンは、開発者アプリ内で確認できます。
毎日、数多くの開発者が X API にリクエストを送信しています。これらの大量のリクエストを管理するため、各エンドポイントにはレート制限が設定されており、アプリまたは認証済みユーザーに代わって実行できるリクエスト数が制限されています。
このエンドポイントには、アプリレベルおよびユーザーレベルの双方でレート制限が適用されます。アプリのレート制限とは、開発者であるあなたが、任意のアプリ(API Key と API Secret Key、または Bearer Token のいずれかを使用していると想定)から、一定期間内にこのエンドポイントへ送信できるリクエスト数が制限されることを意味します。ユーザーのレート制限とは、あなたが代わってリクエストを行う認証済みユーザーが、どの開発者アプリ経由であっても、List Post のルックアップを一定回数のみ実行できることを意味します。
以下の表は、各エンドポイントのレート制限を示しています。
| | |
|---|
| エンドポイント | HTTP メソッド | レート制限 |
| /2/lists/:id/tweets | GET | 15 分あたり 900 リクエスト |
Fields と expansions
X API v2 の GET エンドポイントでは、fields と expansions というツールを用いて、API から返すデータを正確に選択できます。expansions パラメーターは、ペイロード内で参照されるオブジェクトを展開します。例えば、List Posts のルックアップでは、次の expansions を取得できます。
fields パラメーターは、受け取りたい各種データオブジェクト内のどのfieldsを返すかを正確に指定するためのものです。このエンドポイントは主に Post オブジェクトを返します。デフォルトでは、Post オブジェクトは id と text の fields を返します。tweet.created_at や tweet.lang などの追加の fields を受け取るには、fields パラメーターで明示的に要求する必要があります。
X API v2 data dictionary に、fields と expansions を組み合わせて使用するためのガイドを追加しました。
以下の表は、lookup エンドポイントで利用可能な field と expansions を示しています。
| | |
|---|
| エンドポイント | Fields | Expansions |
| /2/lists/:id/tweets | tweet.fields
user.fields | author_id |
ページネーション
List Posts のルックアップでは大量のデータが返される可能性があります。常に一貫性があり高パフォーマンスな結果を返すため、ページネーションを使用します。ページネーションは、単一のレスポンスで返しきれない件数の結果を返す X API v2 のエンドポイントに備わる機能です。その場合、data は複数の「ページ」に分割されて返されます。結果をページネーションする方法の詳細をご確認ください。