Box Developerドキュメント

BoxWorks 2024でコンテンツとAIの可能性について紹介します。

詳細を表示

as-userヘッダー

ガイド 認証 JWT認証 as-userヘッダー

as-userヘッダー

as-userヘッダーを利用すると、JWTアプリケーションは別のユーザーの代理になることができます。

curl https://api.box.com/2.0/folders/0 \
    -H "as-user: [USER_ID]"
    -H "authorization: Bearer [ACCESS_TOKEN]"

この場合、ユーザーIDはユーザーのBox識別子です。どのユーザーでも、ユーザーIDは、管理者だけが利用可能なGET /usersエンドポイントを介して確認できます。また、認証済みのユーザーセッションでGET /users/meエンドポイントを呼び出して確認することもできます。

前提条件

アプリケーションは、開発者コンソールで、ユーザーとして操作を実行するように構成する必要があります。

高度な機能

さらに、認証済みユーザーは、管理者権限を持つユーザー、つまり、管理者または共同管理者である必要があります。詳細については、ユーザータイプのガイドを参照してください。

as-userヘッダーではサービスアカウントuser_idを使用できません。

as-userを使用できるSDK

すべてのBox公式SDKでは、as-userヘッダーを使用してユーザーの代わりに処理を実行することがサポートされています。

.NET
var user_client = new BoxClient(config, session, asUser: '[USER_ID]');

Java
client.asUser([USER_ID]");
// client.asSelf();

Python
user_to_impersonate = client.user(user_id='[USER_ID]')
user_client = client.as_user(user_to_impersonate)

Node
client.asUser('[USER_ID]');
// client.asSelf();

SDKには、他のユーザーに対して新しいクライアントを作成するものもあれば、既存のクライアントを変更して、そのクライアントが元のユーザーに対して認証される状態に戻せるようにするものもあることに注意してください。