Microsoft Graph возвращает 403 Запрещено при второй попытке создать подписку
Мне удалось подписаться на push-уведомления Microsoft Graph на один раз для следующих ресурсов:
- мне / календари;
- мне / календари /{ID}/ События
Однако, когда я пытаюсь сделать то же самое сейчас, я получаю:
403 Запрещено https://graph.microsoft.com/v1.0/subscriptions
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: Forbidden; Reason: Forbidden]",
"innerError": {
"request-id": "7afa93f6-f616-4ea7-9bbe-c977ffd1e239",
"date": "2017-07-14T16:23:35"
}
}
}
Мой запрос выглядит следующим образом:
{
"resource": "me/calendars/{ID}/events",
"notificationUrl": "https://myapp/MyService/notifications/",
"clientState": null,
"changeType": "created,updated,deleted",
"expirationDateTime": "2017-07-17T14:53:33Z"
}
Документы, которые я использую: https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/webhooks
Я подозреваю, что Microsoft Graph выдаст такую ошибку из-за того, что есть подписка, работающая в данный момент после первой подписки. Однако, когда я работал с outlook API, я мог получать столько подписок, сколько хотел.
Вопрос в том, поддерживает ли Graph API несколько подписок на один ресурс, и если да, что может быть причиной 403 Forbidden в таком случае?
2 ответа
Да, Microsoft Graph поддерживает множественную подписку на один ресурс. Мы исследовали этот запрос. Биржа отказывает в доступе. Пожалуйста, убедитесь, что вы используете правильные учетные данные. Пожалуйста, ответьте на эту проблему, если это необходимо. Спасибо.
Ошибка была исправлена после добавления дополнительных областей.
До:
Calendars.ReadWrite.Shared Files.ReadWrite.All User.Read openid offline_access profile
После:
Calendars.Read Calendars.ReadWrite.Shared Calendars.ReadWrite Files.ReadWrite.All User.Read openid offline_access profile