前提条件
- Box開発者コンソールで、Platformアプリケーションがサーバー認証 (クライアント資格情報許可) を使用するように構成されていること。
- Boxアカウントで2要素認証が有効になっており、このアプリケーションのクライアントシークレットを [構成] タブで表示およびコピーできるようになっていること。
- このアプリケーションの使用が企業でされていること。
クライアントシークレットは機密情報であり、保護する必要があります。アクセストークンの取得時にBoxがアプリケーションのIDを安全に確認するために使用されるため、クライアントシークレットを自由に配布するべきではありません。配布方法には、メール、公開フォーラム、コードリポジトリ、分散されたネイティブアプリケーション、クライアント側のコードなどがあります。さらにセキュリティメカニズムを追加する場合は、Boxの標準的なJWTアプリケーションを使用することをお勧めします。
利用方法
APIコールを実行してを取得する際は、リクエスト本文にクライアントIDとクライアントシークレットを含める必要があります。grant_typeをclient_credentialsに設定します。
アプリケーションのとして認証する場合は、以下のようにします。
box_subject_typeをenterpriseに設定します。box_subject_idをEnterprise IDに設定します。
box_subject_typeをuserに設定します。box_subject_idをユーザーIDに設定します。- Box開発者コンソールで [アプリ + Enterpriseアクセス] および [ユーザーアクセストークンを生成] を有効にします。
box_subject_typeをuserに設定します。box_subject_idをユーザーIDに設定します。- Box開発者コンソールで [ユーザーアクセストークンを生成] を有効にします。
一般的なエラー
Grant credentials are invalid (許可の資格情報が無効です)
認証中に、次のエラーが表示される場合があります。- 渡されたクライアントIDとクライアントシークレットが正しくないか、同じアプリケーションのものではありません。
-
選択したに基づいて
box_subject_idを使用することができません。
-
box_subject_typeをuserに設定して使用するには、[構成] タブの [高度な機能] セクションでユーザーアクセストークンを生成するようアプリケーションを構成する必要があります。
- アプリケーションがBox管理コンソールで承認されていません。
