Box Developerドキュメント

ユーザーをグループに追加

post
https://api.box.com/2.0
/group_memberships

グループメンバーシップを作成します。管理者レベルの権限を持つユーザーのみがこのAPIを使用できます。

リクエスト

bearer [ACCESS_TOKEN]
application/json

クエリパラメータ

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

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

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

リクエスト本文

associative array本文内

管理者権限のカスタム設定 (グループが受け入れる場合)。このオプションは、ロールがmemberであるメンバーには影響しません。

これらの権限を設定すると、管理者のデフォルトのアクセスレベルが上書きされます。

このオブジェクトの値としてnullを指定すると、設定可能なすべての権限が無効になります。権限を指定すると、それに応じて権限が設定され、省略した権限はデフォルトで有効になります。

boolean本文内省略可能
true

カスタム権限のキーと値のペア。

object本文内

ユーザーを追加するグループ。

string本文内必須
"4545523"

ユーザーを追加するグループのID

string本文内省略可能
"member"

グループ内のユーザーのロール。

次の値のいずれか1つ: member,admin

object本文内

グループに追加するユーザー。

string本文内必須
"1434325"

グループに追加するユーザーのID

レスポンス

新しいグループメンバーシップオブジェクトを返します。

ユーザーをグループに追加できない場合にエラーを返します。

  • forbidden_by_policy: 情報バリアの制限によりグループへのユーザーの追加が禁止されています。

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

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

リクエストの例

cURL
curl -i -X POST "https://api.box.com/2.0/group_memberships" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "user": {
         "id": "1434325"
       },
       "group": {
         "id": "4545523"
       }
     }'
TypeScript Gen
await client.memberships.createGroupMembership({
  user: { id: user.id } satisfies CreateGroupMembershipRequestBodyUserField,
  group: { id: group.id } satisfies CreateGroupMembershipRequestBodyGroupField,
} satisfies CreateGroupMembershipRequestBody);
Python Gen
client.memberships.create_group_membership(
    CreateGroupMembershipUser(id=user.id), CreateGroupMembershipGroup(id=group.id)
)
.NET Gen
await client.Memberships.CreateGroupMembershipAsync(requestBody: new CreateGroupMembershipRequestBody(user: new CreateGroupMembershipRequestBodyUserField(id: user.Id), group: new CreateGroupMembershipRequestBodyGroupField(id: group.Id)));
Java
BoxGroup group = new BoxGroup(api, "groupID");
BoxUser user = new BoxUser(api, "userID");
BoxGroupMembership.Info groupMembershipInfo = group.addMembership(user);
Python
user = client.user('1111')
membership = client.group(group_id='11111').add_member(user)
print(f'Added {membership.user.name} to the {membership.group.name} group!')
.NET
var requestParams = new BoxGroupMembershipRequest()
{
    User = new BoxRequestEntity()
    {
        Id = "22222"
    },
    Group = new BoxGroupRequest()
    {
        Id = "11111"
    }
};
BoxGroupMembership membership = await client.GroupsManager.AddMemberToGroupAsync(requestParams);
Node
var groupID = '11111';
var userID = '22222';
client.groups.addUser(groupID, userID, {role: client.groups.userRoles.MEMBER})
	.then(membership => {
		/* membership -> {
			type: 'group_membership',
			id: '33333',
			user: 
			{ type: 'user',
				id: '22222',
				name: 'Alison Wonderland',
				login: 'alice@example.com' },
			group: { type: 'group', id: '11111', name: 'Employees' },
			role: 'member',
			configurable_permissions: 
			{ can_run_reports: false,
				can_instant_login: false,
				can_create_accounts: false,
				can_edit_accounts: false } }
		*/
	});
iOS
client.createMembership(userId: "54321", groupId: "11111", role: .admin, configurablePermission: .value(ConfigurablePermissionData(canRunReports: true, canInstantLogin: true, canCreateAccounts: false, canEditAccounts: true))) { 
(result: Result<GroupMembership, BoxSDKError>) in
    guard case let .success(membership) = result else {
        print("Error creating group membership")
        return
    }

    print("Group membership for group \(membership.group?.name) was created")
}

レスポンスの例

{
  "id": "11446498",
  "type": "group_membership",
  "created_at": "2012-12-12T10:53:43-08:00",
  "group": {
    "id": "11446498",
    "type": "group",
    "group_type": "managed_group",
    "name": "Support"
  },
  "modified_at": "2012-12-12T10:53:43-08:00",
  "role": "member",
  "user": {
    "id": "11446498",
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  }
}