В настоящее время я занимаюсь разработкой синхронизации календаря между Microsoft Graph и моим веб-приложением.
Один из наших клиентов использует Ofice и, следовательно, данные почты и календаря на месте.Мы провели некоторое исследование и обнаружили этот документ , описывающий необходимые шаги для включения доступа гибридного API через Microsoft Graph.Это работает довольно хорошо и просто, как указано в документации Microsoft .
Моя проблема заключается в том, что я не могу создать подписку на локальные календари.Я могу получить к ним доступ через API, например,
GET https://graph.microsoft.com/v1.0/me/calendars/{CALENDARID}/events
или получить сам список календаря, используя
GET https://graph.microsoft.com/v1.0/me/calendars
при создании подписки, которую я использую
POST https://graph.microsoft.com/v1.0/subscriptions
payload:
{
"expirationDateTime": "2018-12-05T12:26:35.908636Z",
"notificationUrl": "https://myworkingand200returningurl", // tested and working
"resource": "me/calendars/{calendarID}/events",
"changeType": "created, updated, deleted"
}
, который вернет мне что-то вроде этого:
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: NotFound; Reason: Not Found]",
"innerError": {
"request-id": "32a5fa29-8863-4bd1-9e98-4028d231429b",
"date": "2018-12-04T13:52:17"
}
}
}
Я также попытался использовать явного пользователя и идентификатор пользователя вместо me
в качестве ресурса, который ведет к тому жерезультат.При использовании того же API для пользователя, который не работает в локальной среде, тот же вызов, кажется, работает без проблем.