6.1. グループの作成

POST /1/(tenantId)/groups/(groupName)

グループを作成する。

Request Headers:
 
  • X-Application-Id -- アプリケーションID(必須)
  • X-Application-Key -- アプリケーションキー(必須)
  • X-Session-Token -- セッショントークン(オプション)
  • Content-Type -- "application/json"
Parameters:
  • groupName (string) -- グループ名
Request JSON Object:
 
  • users (array) -- 所属ユーザIDの一覧(オプション)
  • groups (array) -- 所属グループ名の一覧(オプション)
  • ACL (object) -- ACL(オプション)
Status Codes:
Response JSON Object:
 
  • _id (string) -- グループID
  • name (string) -- グループ名
  • users (array) -- 所属ユーザIDの一覧
  • groups (array) -- 所属グループ名の一覧
  • ACL (object) -- ACL
  • createdAt (string) -- 作成日時
  • updatedAt (string) -- 更新日時
  • etag (string) -- ETag値

リクエスト

グループ名は groupName に指定する。

グループ名には100文字以下の '/' を除く任意の UTF-8 文字列が使用できる。 ただし、先頭が "_EXT-" で開始するグループ名は特殊用途に予約されているため使用できない。

リクエストボディに、グループの定義を指定する。以下に例を示す。

{
    "users": [ "xxxxx", "yyyyy", "zzzzz" ],
    "groups" : [ "group2", "group3" ],
    "ACL": {
        /* ACL */
    }
}
  • users に、ユーザIDの一覧を指定する。
  • groups に、このグループが包含する他のグループ名の一覧を指定する。
  • ACL には、このグループの読み込み・変更権限を設定する。

上記例では、作成したグループは group2, group3 を包含するため、group2 および group3 に所属するユーザ、 およびgroup2 や group3 が包含する他のグループのユーザも、本グループに所属するとみなされる。

また、自分が所属するグループを確認したい場合は、グループ一覧の取得, グループの取得, 自ユーザ情報の取得 のいずれかのAPIを使用する。

ACL を指定しなかった場合は以下の ACL が自動的に設定される。

  • ログイン済みの場合: 全フィールドが空。オーナ(作成ユーザ)のみがアクセス可。
  • 未ログイン状態の場合 : r, w に "g:anonymous" が設定され、誰でも読み書き可。

レスポンスボディの例

{
    "_id":"52116f01ac521e1742000001",
    "name": "group3",
    "users": [ "xxxxx", "yyyyy", "zzzzz" ],
    "groups" : [ "group2", "group3" ],
    "ACL": {/*ACL*/},
    "createdAt": "2013-08-27T04:37:30.000Z",
    "updatedAt": "2013-08-27T04:37:30.000Z"
    "etag": "8c92c97e-01a7-11e4-9598-53792c688d1b"
}

注意事項

  • グループはアプリ毎ではなく、テナント毎に作成される。
  • グループ作成時は_GROUPS バケットのcontentACLに対する create 権限が必要。
  • "users" と "groups" には、既に登録済みのユーザとグループを指定すること。 未登録のユーザ・グループを指定した場合は400エラーが返却される。
  • "users" と "groups" を指定しない場合は、users, groupsを空で作成する。