ms Graph api (beta) Доступ запрещен - PullRequest
       89

ms Graph api (beta) Доступ запрещен

0 голосов
/ 20 октября 2019

Я пытаюсь несколькими способами использовать API Graph Microsoft (бета-версия) с JAVA. (Я ссылаюсь на эту ссылку для подключения API "https://docs.microsoft.com/en-us/graph/tutorials/java") И я мог бы использовать все функции v1.0, но я не мог бета-версию.

Например, когда я запрашиваю код нижеони успешно возвращают JsonObject.

JsonObject response = graphClient
        .customRequest("/me/calendar")
        .buildRequest()
        .get();

Но когда я запрашиваю код ниже,

JsonObject response = graphClient
        .customRequest("/me/findRoomLists")
        .buildRequest()
        .get();

они возвращают ошибку ниже

There was an unexpected error (type=Internal Server Error, status=500).
Error code: ErrorAccessDenied Error message: Access is denied. Check credentials and try again. GET https://graph.microsoft.com/beta//me/findRoomLists SdkVersion : graph-java/v1.5.0 Authorization : Bearer

Я не знаюв чем проблема ...

Я использую приведенный ниже код для использования бета-версии.

    // Build a Graph client
    graphClient = GraphServiceClient.builder()
        .authenticationProvider(authProvider)
        .logger(logger)
        .buildClient();

    //version change 1.0 -> beta
    graphClient.setServiceRoot("https://graph.microsoft.com/beta/");

И это мои разрешения API в Azure.

1. Calendars.ReadWrite
2. Mail.ReadWrite
3. User.ReadBasic.All
4. User.ReadWrite

Область применения

app.scopes=User.ReadWrite,Calendars.ReadWrite,Mail.ReadWrite

Что я должен изменить, чтобы использовать бета-версию? Извините, если это дублирующий вопрос.

1 Ответ

0 голосов
/ 21 октября 2019

Microsoft Graph Java SDK содержит только модели и конструкторы запросов для доступа к конечной точке v1.0 с помощью свободного API. (Будет образец java SDK для конкретного API, если он существует, в противном случае не )

Даже если вы используете graphClient.setServiceRoot("https://graph.microsoft.com/beta/"), он все равно будет сериализован/ десериализовать все, используя /v1.0 классы.

Если вы хотите использовать ресурсы / свойства, которые не существуют в v1.0, то вам нужно сгенерировать код SDK самостоятельно с использованием бета-манифестов.

Для получения более подробной информации, перейдите по этой ссылке , парень @Marc LaFleur, работающий в команде разработчиков Microsoft Graph, упомянул это.

...