# APIユーザー認証

エクイニクスのAPIは、OAuth 2.0プロトコルを使用してAPIエンドポイントへのリクエストを認証します。 エクイニクスのAPIを利用するには、ベアラアクセストークンが必要です。ベアラは認証スキームの種類を決定するもので、OAuth 2.0プロトコルの一部です。

<!-- -->

インフォメーション

Equinix Metal APIは、ここで説明する認証フローを使用しません。Metal APIキーは[Metalコンソール](/ja/metal/identity-access-management/api-keys.md)で管理され、その認証については[APIリファレンス](https://docs.equinix.com/api-catalog/metalv1/#tag/Authentication)に記載されています。

## 必須条件[​](#必須条件 "Direct link to 必須条件")

API経由でエクイニクスの製品を利用するには、以下の手順が必要です：

* エクイニクスカスタマーポータル（ECP）アカウント。
* 製品固有の作成、変更、削除権限。組織のプライマリ管理者に連絡し、アクセス許可をリクエストしてください。

## クライアントIDとクライアントシークレットの生成[​](#クライアントidとクライアントシークレットの生成 "Direct link to クライアントIDとクライアントシークレットの生成")

クライアントIDとクライアントシークレットは、APIリクエストを承認するトークンを取得するために必要です。クライアントIDとクライアントシークレットを生成するには、カスタマーポータルの\_Developer Settings\_セクションでアプリを登録します。

アプリを登録するには

1. [カスタマーポータル](https://portal.equinix.com)にサインインしてください。

2. グローバルナビゲーションメニューから、*Developer Settings* > \_Apps\_を選択し、アプリの詳細を表示します。

   ![](/ja/assets/images/auth-dev-menu-a9161ccf9e632050f83ddb969f6d16f2.png)

3. APIライセンス契約 - プラットフォームとAPIを初めて使用する前に、表示されるAPIライセンス契約を読み、同意する必要があります。

   ![](/ja/assets/images/auth-license-agreement-b3b3306c8dbdc8fa214d34ce7f9874ce.png)

   ご契約に同意されましたら、\_Additional Information\_セクションでご確認いただけます。

   ![](/ja/assets/images/auth-additional-info-86c6708fc3c7eb40798e8efd48715ce2.png)

4. **Create New App** をクリックします。

   ![](/ja/assets/images/auth-create_new_app-353d89258181768204be10e122cb9c51.png)

5. アプリ名\_をプロバイダで指定し、*アプリ環境タイプ*（Production）を選択して、**Create** をクリックします。

   ![](/ja/assets/images/auth-create_new_app_details-c3850c198a7b8fa6bcba9a3debfaf5c1.png)

6. アプリのタイルをクリックして詳細を開きます。

7. 目のアイコンをクリックすると、\_Consumer Key\_と\_Consumer Secret\_が表示されます。

   ![](/ja/assets/images/auth-app-details-pane-cd47a19c79e99ab157f7b4cd7addbf48.png)

## アクセストークンのリクエスト[​](#アクセストークンのリクエスト "Direct link to アクセストークンのリクエスト")

APIリクエストを承認するには、アクセストークンが必要です。トークンをリクエストするには、[`/oauth2/v1/token`](/ja/api-catalog/accesstokenv1.md#operation/GetOAuth2AccessToken) エンドポイントに `POST` リクエストを送信し、リクエスト本文に Client ID と Client Secret を指定します。

cURLリクエストのサンプル：

```
curl -X  

POST 'https://api.equinix.com/oauth2/v1/token'  

-H 'content-type: application/json'  

-d '{  

    "grant_type": "client_credentials",  

    "client_id": "<client_id>",  

    "client_secret": "<client_secret>"  

}'
```

使用可能なパラメータやオプションの一覧は、[API リファレンス](/ja/api-catalog/accesstokenv1.md#operation/GetOAuth2AccessToken) を参照ください。

回答例

```
{  

    "access_token": "<token>",  

    "token_timeout": "3600",  

    "user_name": "john.doe@example.com",  

    "token_type": "Bearer"  

}
```

## トークンのリフレッシュ[​](#トークンのリフレッシュ "Direct link to トークンのリフレッシュ")

アクセストークンを更新するには、[`/oauth2/v1/refreshaccesstoken`](/ja/api-catalog/accesstokenv1.md#operation/RefreshOAuth2AccessToken) エンドポイントに `POST` リクエストを送信します。

サンプルcurlリクエスト：

```
curl -X  

POST 'https://api.equinix.com/oauth2/v1/refreshaccesstoken'  

-H 'content-type: application/json'  

-d '{  

    "client_id": "<client_id>",  

    "client_secret": "<client_secret>",  

    "refresh_token": "<token>  

}'‌‌
```

使用可能なパラメータとオプションの完全なリストについては、[API リファレンス](/ja/api-catalog/accesstokenv1.md#operation/RefreshOAuth2AccessToken) を参照してください。

## アクセストークンの使用[​](#アクセストークンの使用 "Direct link to アクセストークンの使用")

To interact with Equinix API, send your access token in the Authorization header of the HTTP request with `authorization: Bearer <token>`

サンプルcURLリクエスト - コロケーションAPIからのインバウンド出荷：

```
curl -X  

POST "https://api.equinix.com/colocations/v2/orders/shipments"  

-H "content-type: application/json"  

-H "authorization: Bearer <token>"  

-d '{  

    "type": "INBOUND",  

    "requestedDateTime": "2020-11-02T10:45:41Z",  

    "cageId": "AM1:01:000111",  

    "details": {  

    "carrier": "CUSTOMER_CARRIER",  

    "numberOfBoxes": 2  

    }  

}'‌
```
