Добавить члена в Outlook, используя Java Microsoft Graph SDK

Я пытаюсь добавить пользователя в группу в Outlook, используя Microsoft Graph API в Java. Я добавил руководство разработчика: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/group_post_members для добавления пользователя.

Однако для достижения этого я использую Microsoft graph java sdk и мне нужно добавить объект json с идентификатором члена в группу в java, например

POST https://graph.microsoft.com/v1.0/groups/{id}/members/$ref
Content-type: application/json
Content-length: 30
{
    "@odata.id": "https://graph.microsoft.com/v1.0/users/{id}"
}

Пожалуйста, дайте мне знать, как я могу добавить объект json в тело запроса в java.

Мой код выглядит так:

public void addMemberToGroup (String groupId, String userId) {

            Group group =  mGraphServiceClient
                                              .groups(groupId)
                                              .buildRequest()
                                              .get();

                JsonObject payload1 = new JsonObject();
                        IJsonBackedObject requestBody = new ReferenceRequestBody("https://graph.microsoft.com/v1.0/users/78276c08-9802-4108-8b20-d70cff6666e5");

                        mGraphServiceClient
                        .groups(groupId)
                        .members(userId)
                        .buildRequest()
                        .post(user,requestBody);

}

При этом я получаю ошибку, как показано ниже:

SEVERE: Детализируемая деталь: com.microsoft.graph.http.GraphServiceException: Код ошибки: BadRequest Сообщение об ошибке: Запросы на запись поддерживаются только для содержащихся объектов.

POST https://graph.microsoft.com/v1.0/groups/5877490c-54fe-45fb-b288-b5d0f6902058/members/78276c08-9802-4108-8b20-d70cff6666e5 SdkVersion: graph-java-v0.2.0 Авторизация: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI [...] {"@ odata.id": " https://graph.microsoft.com/v1.0/use%5B...%5D

ошибка 400, неверный запрос [...]

Пожалуйста, дайте мне знать, как я мог решить эту проблему.

0 ответов

Это должно быть так:

User user = new User();
user.id=userId;

mGraphServiceClient.groups(groupId).members().references().buildRequest().post(user);

или же

DirectoryObject directoryObject = new DirectoryObject();
directoryObject.id = userId;  

mGraphServiceClient.groups(groupId).members().references().buildRequest().post(directoryObject);
Другие вопросы по тегам