メインコンテンツへスキップ

users lookup エンドポイントの始め方

このクイックスタートガイドでは、Postman を使って、指定した一連の fields を含めて users lookup エンドポイントへ初回リクエストを送る方法を説明します。 複数の言語でのサンプルコードをご覧になりたい場合は、X API v2 sample code の GitHub リポジトリをご参照ください。

前提条件

このガイドを完了するには、リクエストを認証するためのキーとトークン一式が必要です。次の手順でキーとトークンを生成できます。
  • 開発者アカウントに登録し、承認を受けます。
  • 開発者ポータルで Project と関連する developer App を作成します。
  • アプリの「Keys and tokens」ページに移動して、必要な認証情報を生成します。すべての認証情報は安全な場所に保存してください。

Users Lookup リクエストを作成する手順

ステップ1:ツールまたはライブラリから始める

このエンドポイントにリクエストする方法はいくつかあり、さまざまなツール、コード例、ライブラリを利用できますが、ここでは手順を簡略化するために Postman を使用します。 X API v2 の Postman コレクションを環境に読み込むには、次のボタンをクリックしてください。 Postman に X API v2 のコレクションを読み込んだら、GET /users/by エンドポイントに移動します。  

ステップ2:リクエストを認証する

X API に正しくリクエストするには、適切な権限を確認する必要があります。そのため、このエンドポイントでは App onlyOAuth 2.0 認可コード(PKCE 対応)、または OAuth 1.0a ユーザーコンテキスト のいずれかの認証方式でリクエストを認証する必要があります。 簡便のため、ここでは App only を使用しますが、非公開の metrics やユーザーデータを取得する場合は、他の認証方式のいずれかを使用する必要があります。 App only を利用するには、キーとトークン、特に App Access Token(App only Bearer Token とも呼ばれます)を Postman に追加してください。Postman 右上の環境ドロップダウンで「X API v2」という環境を選択し、「initial value」と「current value」の fields にキーとトークンを入力します(環境ドロップダウン横の目のアイコンをクリック)。 正しく設定されていれば、これらの変数はリクエストの authorization タブに自動的に反映されます。  

ステップ3:取得したいユーザーを特定して指定する

リクエスト内で、取得したいユーザーまたはユーザーの集合を指定する必要があります。使用するユーザーエンドポイントに応じて、user ID または username を渡せます。このセクションでは、複数の username を単一のリクエストで渡せる GET /users/by エンドポイント を使用します(single-IDmulti-IDsingle-username エンドポイントではなく)。usernames クエリパラメータを使って複数の username を指定します。 username は、アカウントのプロフィール URL で確認できるアカウントのハンドルです。たとえば、次のアカウントの username は XDevelopers です。 https://x.com/XDevelopers Postman で「Params」タブに移動し、この username、またはカンマで区切った複数の username の文字列を、username パラメータの「Value」列に入力します。ユーザー名とカンマの間にスペースを入れないようにしてください。
KeyValue
usernameXDevelopers,API,adsapi

ステップ4:取得したい fields を特定して指定する

ステップ3の後に「Send」ボタンをクリックすると、レスポンスにはデフォルトの user object の fields(id、name、username)が返されます。 id、name、username 以外の追加の fields を受け取りたい場合は、リクエストで fields および/または expansions パラメータを使って、それらの fields を指定する必要があります。 この演習では、異なるオブジェクトから追加の fields セットを3種類リクエストします:
  1. プライマリ user オブジェクトの追加 field:user.created_at
  2. 返されたユーザーに関連付けられた固定された Post オブジェクトのデフォルト fields:id、text
  3. 関連する Post オブジェクトの追加 field:tweet.created_at  
Postman で「Params」タブに移動し、「Query Params」テーブルに次の key:value ペアを追加します:
KeyValueReturned fields
user.fieldscreated_atuser.created_at
expansionsauthor_idtweet.id, tweet.text
tweet.fieldscreated_atincludes.users.created_at
「Send」ボタンの横に次の URL が表示されるはずです:
      https://api.x.com/2/users/by?usernames=twitterdev,twitterapi,adsapi&user.fields=created_at&expansions=pinned_tweet_id&tweet.fields=author_id,created_at

ステップ5:リクエストを送信し、レスポンスを確認する

準備が整ったら「Send」ボタンをクリックすると、次のようなレスポンスが返ってきます。
{
  "data": [
    {
      "created_at": "2013-12-14T04:35:55.000Z",
      "id": "2244994945",
      "name": "Twitter Dev",
      "pinned_tweet_id": "1255542774432063488",
      "username": "TwitterDev"
    },
    {
      "created_at": "2007-05-23T06:01:13.000Z",
      "id": "6253282",
      "name": "Twitter API",
      "username": "TwitterAPI"
    },
    {
      "created_at": "2013-02-27T20:01:12.000Z",
      "id": "1225933934",
      "name": "Twitter Ads API",
      "username": "AdsAPI"
    }
  ],
  "includes": {
    "tweets": [
      {
        "author_id": "2244994945",
        "created_at": "2020-04-29T17:01:38.000Z",
        "id": "1255542774432063488",
        "text": "During these unprecedented times, what’s happening on Twitter can help the world better understand & respond to the pandemic. \n\nWe're launching a free COVID-19 stream endpoint so qualified devs & researchers can study the public conversation in real-time. https://t.co/BPqMcQzhId"
      }
    ]
  }
}