> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Postman ではじめる

> X API 向けの Postman の始め方。Postman のインストール、X API コレクションのインポート、OAuth の設定、最初のリクエスト送信までを解説します。

## はじめに

Postman は、グラフィカルユーザーインターフェースから API へリクエストを行える、デスクトップおよびウェブアプリケーションです。X API、X Ads API、Labs エンドポイントで API 機能を試したり、アプリケーションのトラブルシューティングを行ったりする際には、Postman の利用をおすすめします。

現在、次の 2 種類の Postman コレクションが利用可能です。

<CardGroup cols={2}>
  <Card title="X API v2 コレクション" icon="https://mintcdn.com/x-preview/ygI6sSJPehlc0qNT/icons/xds/icon-code.svg?fit=max&auto=format&n=ygI6sSJPehlc0qNT&q=85&s=488e23401b19225b89acc0136d242219" iconType="solid" href="https://www.postman.com/xapidevelopers/x-api-public-workspace/collection/34902927-2efc5689-99c6-4ab6-8091-996f35c2fd80" horizontal width="24" height="24" data-path="icons/xds/icon-code.svg" />

  <Card title="X Ads API コレクション" icon="https://mintcdn.com/x-preview/ygI6sSJPehlc0qNT/icons/xds/icon-code.svg?fit=max&auto=format&n=ygI6sSJPehlc0qNT&q=85&s=488e23401b19225b89acc0136d242219" iconType="solid" href="https://app.getpostman.com/run-collection/1d12b9fc623b8e149f87" horizontal width="24" height="24" data-path="icons/xds/icon-code.svg" />
</CardGroup>

### 前提条件

X の Postman コレクションを使い始める前に、利用予定の X デベロッパープラットフォームツールに対して適切なアクセス権と資格情報があることを確認してください。アクセスに関する詳細は[はじめに](/overview)ページを参照してください。

続行する前に、以下が必要です。

* [デベロッパーアカウント](https://developer.x.com/en/portal/petition/essential/basic-info)。
* [デベロッパーアプリ](/resources/fundamentals/developer-apps)。
* 一式の[認証](/resources/fundamentals/authentication)キーとトークン。
* 利用予定の API にリクエストを行うよう構成された環境。

## X の Postman コレクションを使い始める

### ステップ 1: X の Postman コレクションのいずれかを自分のアカウントに追加する

Postman で特定のエンドポイントを自分で構築することもできますが、その煩雑な作業はこちらで済ませてあります。上の [Postman コレクション](#introduction)セクションのリンクを選択すると、選択した API のすべてのエンドポイントが含まれる、すぐに使えるコレクションが Postman アプリに追加されます。これらのコレクションは [Postman API ネットワーク](https://explore.postman.com/)でも公開されています。

各エンドポイントには、利用可能なパラメーター、レスポンス例、認証タイプがあらかじめ設定されています。資格情報とパラメーター値を追加するだけで、すぐに試し始められます。

この例では、X [API v2 コレクション](https://www.postman.com/xapidevelopers/x-api-public-workspace/collection/34902927-2efc5689-99c6-4ab6-8091-996f35c2fd80)を使用します。

### ステップ 2: キーとトークンを環境変数として追加する

コレクションを Postman インスタンスに追加すると、「X API v2」という環境が自動的に作成されます。この環境にキーとトークンを追加する必要があります。このステップでは、デベロッパーアプリのキーとトークンを「X API v2」環境に追加する手順を説明します。

キーとトークンを追加するには、Postman の右上隅にある「manage environments」ボタンを選択します。

<Frame>
  <img src="https://mintcdn.com/x-preview/VdW8U-B9RRDINhor/images/using-postman-1.png.twimg.1920.png?fit=max&auto=format&n=VdW8U-B9RRDINhor&q=85&s=671aeee08ec7fe5d7f1c298d5b9cb8d0" alt="Postman コンソールで「manage environments」ボタンが強調表示された画像。" width="1398" height="376" data-path="images/using-postman-1.png.twimg.1920.png" />
</Frame>

環境の一覧から「X API v2」を選択します。

次に、アプリのダッシュボードで生成した各キーとトークンごとに変数を追加します。テーブルは以下のような形になります。

| VARIABLE         | INITIAL VALUE                                                     | CURRENT VALUE                                                     |
| :--------------- | :---------------------------------------------------------------- | :---------------------------------------------------------------- |
| consumer\_key    | `QAktM6W6DF6F7XXXXXX`                                             | `QAktM6W6DF6F7XXXXXX`                                             |
| consumer\_secret | `AJX560A2Omgwyjr6Mml2esedujnZLHXXXXXX`                            | `AJX560A2Omgwyjr6Mml2esedujnZLHXXXXXX`                            |
| access\_token    | `1995XXXXX-0NGqVhk3s96IX6SgT3H2bbjOPjcyQXXXXXXX`                  | `1995XXXXX-0NGqVhk3s96IX6SgT3H2bbjOPjcyQXXXXXXX`                  |
| token\_secret    | `rHVuh7dgDuJCOGeoe4tndtjKwWiDjBZHLaZXXXXXX`                       | `rHVuh7dgDuJCOGeoe4tndtjKwWiDjBZHLaZXXXXXX`                       |
| bearer\_token    | `AAAAAAAAAAAAAAAAAAAAAL9v6AAAAAAA99t03huuqRYg0mpYAAFRbPR3XXXXXXX` | `AAAAAAAAAAAAAAAAAAAAAL9v6AAAAAAA99t03huuqRYg0mpYAAFRbPR3XXXXXXX` |

上表のキーとトークンはダミーであり、リクエストでは動作しません。

資格情報を変数として追加し、X API v2 環境が選択されていることを確認したら、X API v2 コレクションへのリクエストを送る準備は完了です。各エンドポイントの authorization タブは、この環境の変数を自動的に継承します。

Postman をユーザーアクセストークンで使用する場合は、[Postman でユーザーアクセストークンを生成する](#generating-a-user-access-token-with-postman)に進んでください。

### ステップ 3: エンドポイントを選ぶ

次に、コレクションからエンドポイントを選択してリクエストを構築します。右側のナビゲーションからエンドポイントを選択できます。次のような画面になります。

<Frame>
  <img src="https://mintcdn.com/x-preview/VdW8U-B9RRDINhor/images/using-postman-2.png.twimg.1920.png?fit=max&auto=format&n=VdW8U-B9RRDINhor&q=85&s=546f99448966f191608f1452eb41fa8c" alt="「X API v2」セクションで「Post Lookup」ドロップダウン下の「Single Posts」リクエストが選択されている画像。" width="562" height="668" data-path="images/using-postman-2.png.twimg.1920.png" />
</Frame>

この例では、X API v2 > Post Lookup > Single Post エンドポイントを使用します。

#### ステップ 4: Params タブに値を追加する

次に Params タブに移動します。各パラメーターの説明とリクエストで渡せる値の一覧を含む、非アクティブなパラメーターのセットが表示されるはずです。

この例では、`expansions` と `tweet.fields` クエリパラメーターを有効化し、以下の値を追加します。

|                |                          |
| :------------- | :----------------------- |
| **Key**        | **Value**                |
| `tweet.fields` | `created_at,attachments` |
| expansions     | author\_id               |

クエリパラメーターに加えて、必須のパスパラメーター `id` も追加する必要があります。このエンドポイントは投稿を返すので、有効な Post ID を値として追加します。

Post ID は、x.com にアクセスして投稿を選び、その URL を確認することで見つけられます。たとえば、以下の URL の Post ID は `1228393702244134912` です。

`https://x.com/XDevelopers/status/1228393702244134912`

Params タブで、クエリパラメーターの下にスクロールすると「Path Variables」セクションが表示されます。使いたい Post ID を `id` キーの値として追加します。

すべて正しく入力すると、Params タブは次のようになります。

<Frame>
  <img src="https://mintcdn.com/x-preview/VdW8U-B9RRDINhor/images/using-postman-3.png.twimg.1920.png?fit=max&auto=format&n=VdW8U-B9RRDINhor&q=85&s=24b1ff97f812370c45bd05d5740026f2" alt="ページ内の手順に従って入力された「Params」テーブルを示す画像。" width="1402" height="758" data-path="images/using-postman-3.png.twimg.1920.png" />
</Frame>

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

リクエストの準備が整ったら、「Send」ボタンを選択します。

すべて正しくセットアップされていれば、次のようなペイロードを受け取るはずです。

```json title="Example response" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
    "data": {
        "author_id": "2244994945",
        "text": "What did the developer write in their Valentine's card?\n  \nwhile(true) {\n    I = Love(You);  \n}",
        "id": "1228393702244134912",
        "created_at": "2020-02-14T19:00:55.000Z"
    },
    "includes": {
        "users": [
            {
                "username": "XDevelopers",
                "name": "Developers",
                "id": "2244994945"
            }
        ]
    }
}
```

### Postman でユーザーアクセストークンを生成する

#### OAuth 1.0a を使用してユーザーアクセストークンを生成する

[OAuth 1.0a flow test コレクション](https://www.postman.com/xapidevelopers/x-api-public-workspace/collection/34902927-2efc5689-99c6-4ab6-8091-996f35c2fd80)で用いられている 3 段階のプロセスをご確認ください。

#### OAuth 2.0 を使用してユーザーアクセストークンを生成する

X [API v2 Postman コレクション](https://www.postman.com/xapidevelopers/x-api-public-workspace/collection/34902927-2efc5689-99c6-4ab6-8091-996f35c2fd80)で使用する OAuth 2.0 アクセストークンを生成できます。

ワークスペースでコレクションを選択し、「Auth」タブを開いて、タイプを「OAuth 2.0」に設定します。「Configure New Token」の下にある「Configuration Options」で、「Grant Type」を「Authorization Code (With PKCE)」に変更します。

Callback URL を、アプリケーションに関連付けられている Callback URL と一致するように更新します。次のパラメーターも更新します。

* Auth URL — `https://x.com/i/oauth2/authorize`
* Access Token URL — `https://api.x.com/2/oauth2/token`
* Client ID — Dev Portal の OAuth 2.0 クライアント ID
* Client Secret — Confidential クライアントを使用している場合
* Scope — 接続したいエンドポイントに合わせたスコープ。例: `tweet.read users.read`
* Callback URL(リダイレクト URL とも呼ばれます)。アプリの認証設定の値と一致する必要があります。
* State — state

準備ができたら、「Get New Access Token」を選択してアクセストークンを生成します。「何か問題が発生しました」というダイアログが表示された場合は、戻るボタンでログインする必要があるかもしれません。ダイアログの「Authorize app」を選択して、アプリがアカウントにアクセスすることを承認する必要があります。

アプリを承認すると Postman にリダイレクトされ、トークンを確認できます。「Use Token」ボタンを選択して、認可されたユーザーに代わってリクエストを開始できます。

これで、Postman コレクションを使う準備は整いました。

## 次のステップ

Postman の「Code」ボタンを選択すると、リクエストを Python、Node、Ruby などお好みの言語のコードに変換でき、開発をスムーズに始められます。Postman には[充実したドキュメント](https://learning.getpostman.com/)があり、参考になります。また、エンドポイントとの連携をより素早く行うのに役立つ [GitHub のサンプルコード](https://github.com/xdevplatform)も用意しています。
