Office365 REST API - создание события календаря с вложениями
Я не могу создать событие календаря с вложениями с помощью API отдыха Office365. Создание событий без вложений не является проблемой. Попытка создания событий с вложениями создает событие, но отправляемые файлы не добавляются. Сервер отвечает кодом ответа 201.
Я отправляю запрос POST по адресу:
https://graph.microsoft.com/v1.0/me/calendars/$(calendarID)/events
Я использую следующий заголовок авторизации:
Authorization: Bearer $(tokenString)
Запросить полезную нагрузку:
{
"start": {
"dateTime": "2017-09-27T20:00:00.000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2017-09-27T21:00:00.000",
"timeZone": "UTC"
},
"attendees": [
{
"emailAddress": {
"address": "person@example.com"
},
"type": "Required"
}
],
"subject": "Example subject",
"body": {
"content": "Example content",
"contentType": "Text"
},
"hasAttachments": true,
"sensitivity": "Normal",
"attachments": [
{
"@odata.type": "#microsoft.graph.fileAttachment",
"name": "$(fileName)",
"contentBytes": "$(base64EncodedString)"
}
]
}
Я следую за документацией по адресу https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/calendar_post_events. Мое событие следует схеме событий, а вложения - схеме fileAttachment.
Я пробовал разные значения для @odata.type, удаляя hasAttachments из запроса, а также добавляя поля name, size и contentType во вложение. Все они дают одинаковый результат - ответ 201 и событие, созданное без вложений.
Любая помощь будет высоко ценится, спасибо!
1 ответ
Я тоже это вижу! Я могу опубликовать вложение к событию после его создания, но не могу добавить его в исходную полезную нагрузку create.
В качестве обходного пути, вы можете создать событие, а затем сделать
POST /me/events/{eventid}/attachments
{
"@odata.type": "#microsoft.graph.fileAttachment",
"name": "$(fileName)",
"contentBytes": "$(base64EncodedString)"
}
Я проверю с календарями об этом, чтобы понять, почему он не работает во время первоначального POST.