добавить члена в Outlook, используя Java Microsoft Graph SDK - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь добавить пользователя в группу в 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 с членом Id в группе в 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 Разрешение: Носитель eyJ0eXAiOiJKV1QiLCJub25jZSI [...] { "@ Odata.id": "https://graph.microsoft.com/v1.0/use[...]

400: неверный запрос [...]

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

1 Ответ

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

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

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