日本時間5月16日のContent Cloud Summitで、カスタムアプリにBox AI APIを活用する方法を紹介します。

詳細を表示

ユーザーを更新

put
https://api.box.com/2.0
/users/:user_id

企業内の管理対象ユーザーまたはApp Userを更新します。このエンドポイントを使用できるのは、適切な管理者権限を持つユーザーとアプリケーションのみです。

リクエスト

bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
12345

ユーザーのID。

クエリパラメータ

string arrayクエリ内省略可能
id,type,name

レスポンスに含める属性のコンマ区切りリスト。このパラメータを使用すると、標準のレスポンスには通常含まれないフィールドをリクエストできます。

このパラメータを指定すると、明示的に指定しない限り標準フィールドはレスポンスに含まれず、リクエストしたフィールドのほかには、Mini版の表示のフィールドしか返されないことに注意してください。

リクエスト本文

string本文内省略可能
"900 Jefferson Ave, Redwood City, CA 94063"255

ユーザーの住所

boolean本文内省略可能
true

ユーザーが自身の連絡先リストで会社の他のユーザーを参照できるかどうか

string本文内省略可能

これをnullに設定すると、ユーザーが会社のメンバーではなくなり、無料ユーザーになります

string本文内省略可能
"my-user-1234"

ユーザーの検索に使用できる、アプリユーザーの外部識別子。これを使用して、外部IDプロバイダのユーザーIDをBoxユーザーに結び付けることができます。

注: このフィールドを更新するには、App Userを作成したアプリケーションを使用してトークンをリクエストする必要があります。

boolean本文内省略可能
true

会社のデバイス制限からユーザーを除外するかどうか

boolean本文内省略可能
true

ユーザーが2要素認証を使用する必要があるかどうか

boolean本文内省略可能
true

ユーザーが社外のユーザーとのコラボレーションを許可されているかどうか

boolean本文内省略可能
true

ユーザーにパスワードのリセットを義務付けるかどうか

boolean本文内省略可能
true

ユーザーがBox Syncを使用できるかどうか

string本文内省略可能
"CEO"100

ユーザーの役職

string本文内省略可能
"en"

修正版のISO 639-1形式で表されるユーザーの言語。

string本文内省略可能
"somename@box.com"

ユーザーがログインに使用するメールアドレス

注: ターゲットユーザーのメールアドレスが確認されていない場合は、プライマリログインアドレスを変更できません。

string本文内省略可能
"Aaron Levie"50

ユーザーの名前

object本文内

通知メールが送信される代替の通知用メールアドレス。確認されると、通知メールはプライマリメールアドレスではなくこのメールアドレスに送信されます。

これをnullに設定すると、通知メールが削除されます。

string本文内省略可能
"notifications@example.com"

通知を送付するメールアドレス。

boolean本文内省略可能
true

ユーザーが会社のメンバーでなくなった後もメールを受信できるようにするかどうか

string本文内省略可能
"6509241374"100

ユーザーの電話番号

string本文内省略可能
"user"

ユーザーの会社ロール

次の値のいずれか1つ: coadmin,user

integer / int64本文内省略可能
11345156112

ユーザーが利用可能な容量の合計 (バイト数)。これを-1に設定するとストレージ容量が無制限になります。

string本文内省略可能
"active"

ユーザーのアカウントのステータス

次の値のいずれか1つ: active,inactive,cannot_delete_edit,cannot_delete_edit_upload

string / timezone本文内省略可能
"Africa/Bujumbura"

ユーザーのタイムゾーン

object array本文内省略可能

追跡コードを使用すると、管理者は管理コンソールからレポートを生成し、特定のグループのユーザーに属性を割り当てることができます。この設定を使用するには、会社に対して有効にしておく必要があります。

string本文内省略可能
"tracking_code"

tracking_code

次の値に固定: tracking_code

string本文内省略可能
"department"

追跡コードの名前。管理コンソールであらかじめ設定しておく必要があります

string本文内省略可能
"Sales"

追跡コードの値

レスポンス

application/jsonユーザー (Full)

更新されたユーザーオブジェクトを返します。

パラメータが不足しているか無効の場合はエラーを返します。

  • invalid_parameter: パラメータの形式が正しくない場合です。たとえば、notification_emailに正しくない形式のメールアドレスが含まれている場合です。

ユーザーに変更が許可されていない場合にエラーを返します。

  • access_denied_insufficient_permissions: ユーザーに適切な権限がない場合です。たとえば、企業の設定で通知メールのアップデートがオフになっている場合です。
  • denied_by_policy: 情報バリアの制限によりユーザーに適切な権限がない場合。

予期しないクライアントエラー。

put
ユーザーを更新
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X PUT "https://api.box.com/2.0/users/12345" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "name": "Aaron Levie"
     }'
.NET
var updates = new BoxUserRequest()
{
    Id = "44444",
    Role = "coadmin",
    CanSeeManagedUsers = true
};
BoxUser updatedUser = await client.UsersManager.UpdateUserInformationAsync(updates);
Java
BoxUser user = new BoxUser(api, "0");
BoxUser.Info info = user.new Info();
info.setName(name);
user.updateInfo(info);
Python
user_id = '33333'
user = client.user(user_id)
updated_user = user.update_info(data={'name': 'Smart User'})
Node
client.users.update('33333', {name: 'New Name', job_title: 'New Title', phone: '555-1111'})
    .then(user => {
        /* user -> {
            type: 'user',
            id: '33333',
            name: 'New Name',
            login: 'user@example.com',
            created_at: '2012-03-26T15:43:07-07:00',
            modified_at: '2012-12-12T11:34:29-08:00',
            language: 'en',
            space_amount: 5368709120,
            space_used: 2377016,
            max_upload_size: 262144000,
            status: 'active',
            job_title: 'New Title',
            phone: '555-1111',
            address: '555 Office Drive',
            avatar_url: 'https://app.box.com/api/avatar/deprecated' }
        */
    });
iOS
// Restrict the user from collaborating content externally
client.users.update(userId: "33333", isExternalCollabRestricted: true) { (result: Result<User, BoxSDKError>) in
    guard case let .success(user) = result else {
        print("Error updating user")
        return
    }

    print("Updated user \(user.name), with login \(user.login)")
}

レスポンスの例

{
  "id": "11446498",
  "type": "user",
  "address": "900 Jefferson Ave, Redwood City, CA 94063",
  "avatar_url": "https://www.box.com/api/avatar/large/181216415",
  "can_see_managed_users": true,
  "created_at": "2012-12-12T10:53:43-08:00",
  "enterprise": {
    "id": "11446498",
    "type": "enterprise",
    "name": "Acme Inc."
  },
  "external_app_user_id": "my-user-1234",
  "hostname": "https://example.app.box.com/",
  "is_exempt_from_device_limits": true,
  "is_exempt_from_login_verification": true,
  "is_external_collab_restricted": true,
  "is_platform_access_only": true,
  "is_sync_enabled": true,
  "job_title": "CEO",
  "language": "en",
  "login": "ceo@example.com",
  "max_upload_size": 2147483648,
  "modified_at": "2012-12-12T10:53:43-08:00",
  "my_tags": [
    "important"
  ],
  "name": "Aaron Levie",
  "notification_email": {
    "email": "notifications@example.com",
    "is_confirmed": true
  },
  "phone": "6509241374",
  "role": "admin",
  "space_amount": 11345156112,
  "space_used": 1237009912,
  "status": "active",
  "timezone": "Africa/Bujumbura",
  "tracking_codes": [
    {
      "type": "tracking_code",
      "name": "department",
      "value": "Sales"
    }
  ]
}