Несанкционированное использование Microsoft Graph Calendars API с помощью curl / postman - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь взаимодействовать с календарями с помощью Microsoft Graph.Сначала я зарегистрировал приложение в Azure, сгенерировал секрет и установил разрешения для приложения: User.Read.All и Calendars.ReadWrite, а затем предоставил доступ администратора.

Затем я запускаю следующие команды:

  1. Получить токен доступа:

    curl -X POST \
      https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token \
      -H 'Content-Type: application/x-www-form-urlencoded' \
      -d 'client_id=<client_id>&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=<client_secret>&grant_type=client_credentials'
    
  2. После получения токена доступа я получаю список пользователей (это будет только один пользователь - я сам)

    curl -X GET \
      https://graph.microsoft.com/v1.0/users \
      -H 'Authorization: Bearer <access_token>'
    
  3. Я получаю список пользователей, получаю свой идентификатор пользователя и пытаюсь получить список моих календарей:

    curl -X GET \
      https://graph.microsoft.com/v1.0/users/<user_id>/calendars \
      -H 'Authorization: Bearer <access_token>'
    

    Я получаю следующую ошибку 401:

    {
        "error": {
            "code": "OrganizationFromTenantGuidNotFound",
            "message": "The tenant for tenant guid '<tenant_id>' does not exist.",
            "innerError": {
                "request-id": "<request_id>",
                "date": "2019-04-06T18:22:32"
            }
        }
    }
    

Еще одна вещь - когда я захожу в Graph Explorer и захожу с той же учетной записью и совершаю вышеуказанные звонки, он возвращает пользователей иЯ вижу себя (но с другим идентификатором).

Есть идеи, что я делаю не так?

...