Я пытаюсь прикрепить текстовый файл к существующему событию в Outlook, используя graph-js-sdk-web.js
Я думаю, что я точно следовал инструкциям , но я получил 422
ответ.Как мне получить его, чтобы прикрепить файл?
Я почти уверен, что мой eventID
правильный, потому что я могу создать событие и получить его по этому идентификатору.Я почти уверен, что пост-загрузка моего файла правильная, потому что я сам вложил файл, а затем получил это событие по его идентификатору, расширяющемуся для вложений, и это был идентичный тип OData, имя и содержимое.
До сих пор я гуглил ответ, и все, что я видел, это либо он просто работает для людей, либо они отключили свой код по сравнению с этим примером.
Вот разрешения, которые я запрашиваю
openid profile User.Read MailboxSettings.Read Calendars.ReadWrite
Соответствует разрешениям, предоставленным зарегистрированному приложению.
Это код вложения клиента и файла:
// Create a Graph client
var client = MicrosoftGraph.Client.init({
authProvider: (done) => {
// Just return the token
done(null, sessionStorage.accessToken);
}
});
client
.api('/me/calendar/events/' + eventID + '/attachments')
.post({
attachment: {
"@odata.type": "#microsoft.graph.fileAttachment",
name: "helloworld.txt",
contentBytes: "SGVsbG8gd29ybGQh"
}
}, (error, response) => {
if (error)
console.log(error);
else {
console.log(response);
}
});
, который выдал полезную нагрузку этого запроса
{
"attachment":{
"@odata.type":"#microsoft.graph.fileAttachment",
"name":"helloworld.txt",
"contentBytes":"SGVsbG8gd29ybGQh"
}
}
ответ, который я получаю от этого:
{
"error": {
"code": "UnprocessableType",
"message": "Cannot process input of abstract type 'Microsoft.OutlookServices.Attachment'",
"innerError": {
"request-id": "0a81e9f9-ef64-4b5e-b854-65e24fb71cfb",
"date": "2019-05-14T23:57:29"
}
}
}
Я не вижу, что нужно для обработки вложения.То, что я нахожу странным, это то, что его абстрактный базовый класс, а не тот, который я предоставил в поле odata.type
, может быть ничем.
Я открыл проводник графиков, и хотя у них нет рабочего образца дляПрикрепляясь к событию, я использовал пост с этой полезной нагрузкой и моим URL и получил точно такой же ответ 422. Это говорит мне, что это не библиотека js, это что-то не так с самим графиком api, либо настройка отличается от их документации, либо нам не хватает некоторыхнедокументированное требование к установке.