アクセストークンをリクエスト

post
https://api.box.com
/oauth2/token/

クライアント側で取得したOAuth 2.0認証コードまたはサーバー側のJWTアサーションを使用してアクセストークンをリクエストします。

アクセストークンとは、リクエストが認証済みセッションに属していることをBoxで検証するための文字列です。通常の手順では、最初にユーザーがauthorizeエンドポイントに対して認証をリクエストした後で、Boxが認証コードを送信します。

ユーザーはこのエンドポイントに認証コードを送信してアクセストークンと交換します。返されたアクセストークンは、Box API呼び出しを行うときに使用できます。

リクエスト

application/x-www-form-urlencoded

リクエスト本文

string / token本文内省略可能
c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ

注釈トークンを作成するためのトークン。これはJWTアサーションです。

urn:ietf:params:oauth:grant-type:token-exchangeとの組み合わせでgrant_typeとして使用されます。

string / urn本文内省略可能
urn:ietf:params:oauth:token-type:id_token

次の値に固定: urn:ietf:params:oauth:token-type:id_token

string / jwt本文内省略可能
xxxxx.yyyyy.zzzzz

新しいアクセストークンをリクエストするJWTアサーション。

urn:ietf:params:oauth:grant-type:jwt-bearerとの組み合わせでgrant_typeとして使用されます。

string本文内省略可能
ly1nj6n11vionaie65emwzk575hnnmrk

アクセストークンをリクエストしているアプリケーションのクライアントID。

authorization_codeまたはurn:ietf:params:oauth:grant-type:jwt-bearerとの組み合わせでgrant_typeとして使用されます。

string本文内省略可能
hOzsTeFlT6ko0dme22uGbQal04SBPYc1

アクセストークンをリクエストしているアプリケーションのクライアント秘密鍵。

authorization_codeまたはurn:ietf:params:oauth:grant-type:jwt-bearerとの組み合わせでgrant_typeとして使用されます。

string / token本文内省略可能
n22JPxrh18m4Y0wIZPIqYZK7VRrsMTWW

ユーザーが自身の代わりにAPI呼び出しを行う権限をアプリケーションに付与した後、ブラウザリダイレクト時にBoxからアプリケーションに渡されるクライアント側承認コード。

authorization_codeとの組み合わせでgrant_typeとして使用されます。

string / urn本文内必須
authorization_code

クライアント側で取得される承認コード、更新トークン、JWTアサーション、またはトークンのダウンスコープを目的とするその他のアクセストークンを使用して行われているリクエストのタイプ。

次の値のいずれか1つ: authorization_code,refresh_token,urn:ietf:params:oauth:grant-type:jwt-bearer,urn:ietf:params:oauth:grant-type:token-exchange

string / token本文内省略可能
c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ

新しいアクセストークンを入手するために使用される更新トークン。

refresh_tokenとの組み合わせでgrant_typeとして使用されます。

string / url本文内省略可能
https://api.box.com/2.0/files/123456

トークンを生成するファイルの完全なURL。

string / space_delimited_list本文内省略可能
item_upload item_preview base_explorer

新しいアクセストークンに割り当てるスコープのスペース区切りリスト。

subject_tokenは、これらすべてのスコープを持っている必要があります。そうでない場合、この呼び出しを行うと、401 Unauthorizedエラーになります。

string / token本文内省略可能
c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ

ダウンスコープされたトークンと交換するためのトークン。通常のアクセストークン、JWTアサーション、アプリトークンのいずれかを使用できます。

urn:ietf:params:oauth:grant-type:token-exchangeとの組み合わせでgrant_typeとして使用されます。

string本文内省略可能
urn:ietf:params:oauth:token-type:access_token

次の値に固定: urn:ietf:params:oauth:token-type:access_token

レスポンス

Authorization: Bearer <Token>のように承認ヘッダー内でトークンを渡すことによって認証済みのAPI呼び出しを行うために使用できる新しいアクセストークンを返します。

application/jsonOAuth 2.0エラー

認証エラー。

認証エラー。

post
アクセストークンをリクエスト
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X POST "https://api.box.com/oauth2/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "client_id=[CLIENT_ID]" \
     -d "client_secret=[CLIENT_SECRET]" \
     -d "code=[CODE]" \
     -d "grant_type=authorization_code"
Python
from boxsdk import Client

# Make sure that the csrf token you get from the `state` parameter
# in the final redirect URI is the same token you get from the
# get_authorization_url method to protect against CSRF vulnerabilities.
assert 'THE_CSRF_TOKEN_YOU_GOT' == csrf_token
access_token, refresh_token = oauth.authenticate('YOUR_AUTH_CODE')
client = Client(oauth)

レスポンスの例

{
  "access_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
  "expires_in": 3600,
  "issued_token_type": "urn:ietf:params:oauth:token-type:access_token",
  "refresh_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
  "restricted_to": [
    {
      "scope": "item_download",
      "object": {
        "id": 12345,
        "etag": 1,
        "type": "file",
        "sequence_id": 3,
        "name": "Contract.pdf",
        "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
        "file_version": {
          "id": 12345,
          "type": "file_version",
          "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
        }
      }
    }
  ],
  "token_type": "bearer"
}