API トークン
Expedia Group 旅行プラットフォーム API を認証および承認する
承認と認証 (AuthN および AuthZ と省略される場合もあり) は、API とデータへのアクセスを保護するのに役立つ機能です。
- 認証では、API クライアントの ID を確立します (それが本人のクライアントであることを確認します)。
- 承認では、特定の API リクエストを実行する権限がクライアントにあることを確認します。
トークンについて
OAuth2.0 は、トークン (英数字の文字列) を使用して認証と承認の証明を確立する業界標準のプロトコルです。トークンには以下が含まれます。
- リクエストを行っている API クライアントの ID
- クライアントに付与されている権限 (クライアントに割り当てたスコープのリスト)
- トークンが作成された時刻とトークンの有効期限Expedia Group 旅行プラットフォームによって発行されたトークンは非公開であるため、デコードまたは復号化できません。
認証 : トークンを取得する
API クライアントでは、API リクエストを行う前、つまり認証が実行されるときにトークンを取得する必要があります。HTTP Basic Auth を使用する特別な API エンドポイントを通じてトークンが提供されます。API ログイン情報 (クライアント ID とシークレット) をユーザー名とパスワードとして指定する必要があります。
承認 : API リクエストごとにトークンを指定する
1 つのトークンを使用して、その有効期限中に複数の API リクエストを承認できます。どのトークンも有効期限は 30 分であり、クライアント ソフトウェアでは、現在のトークンの有効期限が切れる前に新しいトークンを取得する必要があります。
有効なトークンがない API リクエストは、HTTP 403 エラーコード (未承認) で失敗します。このエラーは、トークンが次の条件に当てはまる場合に発生します。
- リクエストに含まれていない
- Token API によって発行されていない
- 有効期限が切れている
- 必要なスコープがない
Token API
この API を使用して、クライアント ソフトウェア内からトークンを取得します。
curl --location --request POST 'https://api.expediagroup.com/identity/oauth2/v3/token' \
--header 'Authorization: Basic <key>:<secret>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'