Я пытаюсь создать событие календаря с расширенными данными с помощью Microsoft Graph API. (На самом деле я пытаюсь преобразовать существующее открытое расширение в расширение схемы, так как я не мог отфильтровать расширенное значение без идентификатора открытого расширения.)
Перед попыткой я уже успешно создал мое расширение схемы и создал событие календаря с расширение схемы отвечает кодом ошибки BadRequest, а запросы сообщений должны содержать исключительно изменения расширения.
Я попытался сделать это, следуя документ.
POST https://graph.microsoft.com/v1.0/me/calendars/{calendar-group-id}/events
{
"subject": "schema extension test",
"body": {
"contentType": "HTML",
"content": "schema extension test"
},
"start": {
"dateTime": "2021-01-22T12:00:00",
"timeZone": "Eastern Standard Time"
},
"end": {
"dateTime": "2021-01-23T14:00:00",
"timeZone": "Eastern Standard Time"
},
"attendees": [],
"extendedData": {
"courseId": "11",
"materialId": "22",
"courseType": "video"
}
}
response:
{
"error": {
"code": "BadRequest",
"message": "Requests must contain extension changes exclusively.",
"innerError": {
...
}
}
}
Без extendedData
создание успешных ответов на событие и после создания события, если я patch
событие только с extendedData
, оно отвечает с ошибкой. Тип с именем «Microsoft.OutlookServices.OpenTypeExtension» не может быть разрешен моделью. Когда модель доступна, каждое имя типа должно соответствовать допустимому типу.
PATCH https://graph.microsoft.com/v1.0/me/calendars/{calendar-group-id}/events/{event-id}
{
"extendedData": {
"courseId": "11",
"materialId": "22",
"courseType": "video"
}
}
response:
{
"error": {
"code": "RequestBodyRead",
"message": "A type named 'Microsoft.OutlookServices.OpenTypeExtension' could not be resolved by the model. When a model is available, each type name must resolve to a valid type.",
"innerError": {
...
}
}
}
Мне удалось добиться успеха, когда я использовал проводник Graph API с авторизованным пользователем с разрешения Calendars.Read
согласия.
Но если я попробую то же самое в почтальоне, это не сработает.
Я уже предоставил все разрешения календаря, включая делегированные разрешения и разрешения приложений в Azure.