Добавление членов группы при создании группы (msgraph-sdk-java) - PullRequest
0 голосов
/ 17 февраля 2019

Я хотел бы добавить участников в группу во время создания группы.Как я могу этого достичь?

Запрос:

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 Ответ

0 голосов
/ 20 февраля 2019

Один из вариантов для указания членов будет состоять в создании пользовательского запроса :

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();
...