MS Graph API: запросы должны содержать исключительно изменения расширения
Я хочу добавить расширение данных к существующему ресурсу, используя MS Graph API.
Для этого я делаю POST
запрос к следующей конечной точке:
https://graph.microsoft.com/v1.0/users/[USER_ID]/events/[EVENT_ID]/extensions
со следующим телом запроса:
{
"@odata.type": "Microsoft.Graph.OpenTypeExtension",
"extensionName": "[MY_EXTENSION_NAME]",
"my_field": "my_value"
}
но время от времени я получаю только один ответ:
{
"error": {
"code": "BadRequest",
"message": "Requests must contain extension changes exclusively.",
"innerError": {
"request-id": "c10c8e95-dd89-455b-9a83-3d2441918618",
"date": "2017-02-21T21:10:55"
}
}
}
Что означает это сообщение?
Выяснил, что работает следующий запрос:
{
"@odata.type": "Microsoft.Graph.OpenTypeExtension",
"extensionName": "[MY_EXTENSION_NAME]"
}
поэтому без какого-либо значения для этой точки расширения, что делает ее несколько бесполезной. Самое странное, что он работал со стоимостью в течение нескольких недель.
1 ответ
Я получил эту проблему, но я думаю, что происходит, что я использую сообщение патча для обновления расширения. Поскольку это периодически, я подозреваю, что в некоторых случайных случаях добавляются пустые расширения, а затем API разрешает обновление несуществующего идентификатора. Иногда это вызывается при ответе на сообщение, а иногда нет - в обоих случаях это отправитель и получатель outlook365.
Что, вероятно, нужно сделать в моем случае, это создать сообщение, если расширение не найдено в моем черновике сообщения, в противном случае используйте патч для его обновления.
Мне действительно кажется странным, что в некоторых случаях это работает, а в других - нет. Меня поражает, что он должен либо работать каждый раз, либо вообще не работать - не иметь какой-то странной случайной возможности этого случиться.
Обновление: я только что попытался сделать это в графическом обозревателе, и мне кажется, что сейчас я вообще не могу добавить расширение в черновик.