Добавление членов группы при создании группы (msgraph-sdk-java)
Я хотел бы добавить участников в группу во время создания группы. Как я могу этого достичь?
Запрос:
POST https://graph.microsoft.com/v1.0/groups
Content-Type: application/json
{
"displayName": "displayName",
"mailEnabled": true,
"mailNickname": "mailNickname",
"securityEnabled": false,
"groupTypes": [
"Unified"
],
"members@odata.bind": [
"https://graph.microsoft.com/v1.0/users/{userId}"
]
}
И код:
Group group = new Group();
group.displayName = "displayName";
group.mailEnabled = true;
group.mailNickname = "mailNickname";
group.securityEnabled = false;
List<String> groupTypes = new ArrayList<>();
groupTypes.add("Unified");
group.groupTypes=groupTypes;
String userId = "userId";
//HERE add members to group
//group.members=???
serviceClient.groups().buildRequest().post(group);
Как и где я должен написать часть "members@odata.bind"?
1 ответ
Один из вариантов указания членов будет заключаться в создании пользовательского запроса:
JsonObject groupPayload = new JsonObject();
groupPayload.addProperty("displayName","<value>");
groupPayload.addProperty("mailNickname","<value>");
groupPayload.addProperty("mailEnabled",true);
groupPayload.addProperty("securityEnabled",false);
JsonArray groupTypes = new JsonArray();
groupTypes.add("Unified");
groupPayload.add("groupTypes",groupTypes);
//specify members
JsonArray members = new JsonArray();
members.add(String.format("https://graph.microsoft.com/v1.0/users/%s",userId));
groupPayload.add("members@odata.bind",members);
JsonObject response = graphClient.customRequest("/groups").buildRequest().post(groupPayload).getAsJsonObject();