BioStar 2のNew Local APIをRESTful APIとしてカスタマイズなどに利用したい場合は、この記事を参考にしてください。この記事では、BioStar 2のNew local APIを使用して、アクセスグループからユーザーを追加または削除する方法を説明します。
APIの詳細については、 https://bs2api.biostar2.com/#intro を参照してください。
新規アクセスグループの作成
POST Create New AG
https://127.0.0.1/api/access_groups
このリクエストは、新しいアクセスグループ(AG)を作成するために使用されます。
パラメータは以下の通りです。
数値(idなど)の場合、値をクォートに入れるかどうかは自由です。
既知のエラー:
- エンドポイントの末尾に「/」をつける
- name は必須かつユニークなパラメータです
Request Body
{ "AccessGroup": { "name": "access_group_test", "description": "" "users": [ { "user_id": 1750 } ], "user_groups": [ { "id": 10871 } ], "access_levels": [ { "id": 53 } ], "floor_levels": [], } }
アクセスグループの更新
PUT Update an AG
https://127.0.0.1/api/access_groups/:id
既知のエラー:
- Repeating the same value on parameter with multiple options
1. 既存のAccess Groupにユーザーを追加する
{ "AccessGroup": { "user_groups": [ { "id": 10871, "name": "User Group 1" } ], "new_users": [ { "user_id": 1753 }, { "user_id": 1749 } ] } }
2. 既存のアクセスグループからユーザーを削除する
{ "AccessGroup": { "user_groups": [ { "id": 10871, "name": "User Group 1" } ], "delete_users": [ { "user_id": 1753 }, { "user_id": 1750 } ] } }
3. ユーザーの追加と削除を同時に行う
{ "AccessGroup": { "user_groups": [ { "id": 10871, "name": "User Group 1" } ], "new_users": [ { "user_id": 1750 }, { "user_id": 1753 } ], "delete_users": [ { "user_id": 1749 } ] } }
4. アクセスグループへのユーザーグループの追加・削除
この例では、ID 10871の「User Group 1」がすでにAccess Groupに割り当てられています。
- ユーザーグループの追加・削除を行うと、それまでのデータが削除され、入力されたデータが追加されます。
例:既存のUser Group 1があり、アップデート時にuser_groupパラメータにUser Group 2のみを指定した場合、Access GroupからUser Group 1が削除され、User Group 2のみが残る。
- ユーザーグループを追加する場合は、現在のユーザーグループを指定する必要があります。追加だけを行うと、以前のデータはすべて削除されます。
- レコードの更新をスキップするには、そのパラメーターをスキップします。以下の例では、ユーザーは更新されません。
例1:既存のAccess GroupからUser Group 2を追加する場合。
{ "AccessGroup": { "user_groups": [ { "id": 10871, "name": "User Group 1" }, { "id": 10872, "name": "User Group 2" } ] } }
例2: 既存のAcess GroupからUser Group 2を削除する場合。
{ "AccessGroup": { "user_groups": [ { "id": 10871, "name": "User Group 1" } ] } }
例3:User Group 1を削除し、User Group 2を追加する場合。
{ "AccessGroup": { "user_groups": [ { "id": 10872, "name": "User Group 2" } ] } }