Я пытаюсь взаимодействовать с календарями с помощью Microsoft Graph.Сначала я зарегистрировал приложение в Azure, сгенерировал секрет и установил разрешения для приложения: User.Read.All
и Calendars.ReadWrite
, а затем предоставил доступ администратора.
Затем я запускаю следующие команды:
Получить токен доступа:
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'
После получения токена доступа я получаю список пользователей (это будет только один пользователь - я сам)
curl -X GET \
https://graph.microsoft.com/v1.0/users \
-H 'Authorization: Bearer <access_token>'
Я получаю список пользователей, получаю свой идентификатор пользователя и пытаюсь получить список моих календарей:
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 и захожу с той же учетной записью и совершаю вышеуказанные звонки, он возвращает пользователей иЯ вижу себя (но с другим идентификатором).
Есть идеи, что я делаю не так?