Планировщик - BadRequest при обновлении сведений о задаче

При использовании Graph API я могу успешно создать задачу, затем я хочу обновить детали задачи, в частности описание, и добавить некоторые ссылки.

Я слежу за документацией здесь https://graph.microsoft.io/en-us/docs/api-reference/beta/api/taskdetails_update

Я добавляю заголовки запросов, Authentication Bearer, If-Match, используя eTag с момента создания задачи. URL-адрес:

https://graph.microsoft.com/beta/tasks/6oqAlz30WE66F915zUcSepYAM2ki/details

Используемый HTTP-метод - PATCH. Тело:

{
  "description": "My Task Title description",
  "references": {
    "https://tenant.sharepoint.com/teams/teamsite/_layouts/15/WopiFrame.aspx?sourcedoc={521F1D0F-397D-4163-BB16-7C9EF436650B}&file=Release Notes.one&action=view&DefaultItemOpen=1": {
      "alias": "OneNote",
      "type": "OneNote"
    }
  }
}

HTTP-ответ:

StatusCode: 400, ReasonPhrase: «Плохой запрос»

Содержание ответа:

{
    "error": {
        "code": "",
        "message": "The request is invalid.",
        "innerError": {
            "request-id": "4e2eae7d-9587-4a69-8c9d-40c5d571190a",
            "date": "2016-06-24T10:57:33"
        }
    }
}

Есть идеи относительно того, что я здесь делаю неправильно?

Кодирование на C # .Net с использованием HttpClient, HttpRequestMessage.


person Terry Hagan    schedule 24.06.2016    source источник
comment
Пытался удалить объект ссылок из запроса, поэтому просто обновите описание, и это сработает, поэтому в ссылках должно быть что-то, что ему не нравится   -  person Terry Hagan    schedule 24.06.2016
comment
Ладно, разобрались. Значение URL в ссылках должно быть закодировано. Вот и все.   -  person Terry Hagan    schedule 27.06.2016


Ответы (1)


URL в объекте ссылок нужно закодировать, вот и все. т.е.

{
  "description": "My Task Title description",
  "references": {
    "https%3A%2F%2Ftenant.sharepoint.com%2Fteams%2Fteamsite%2F_layouts%2F15%2FWopiFrame.aspx%3Fsourcedoc%3D%7B521F1D0F-397D-4163-BB16-7C9EF436650B%7D%26file%3DRelease+Notes.one%26action%3Dview%26DefaultItemOpen%3D1": {
      "alias": "OneNote",
      "type": "OneNote"
    }
  }
}
person Terry Hagan    schedule 27.06.2016