【问题标题】:Planner - BadRequest when updating Task DetailsPlanner - 更新任务详细信息时出现错误请求
【发布时间】:2016-06-24 11:03:37
【问题描述】:

使用 Graph API 时,我可以成功创建任务,然后我希望更新任务详细信息,特别是描述并添加一些参考。

我正在关注这里的文档https://graph.microsoft.io/en-us/docs/api-reference/beta/api/taskdetails_update

我使用创建任务时的 eTag 添加请求标头、身份验证承载、If-Match。网址是:

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"
        }
    }
}

关于我在这里做错了什么有什么想法吗?

使用 HttpClient、HttpRequestMessage 在 C# .Net 中编码。

【问题讨论】:

  • 尝试从请求中删除“引用”对象,所以只需更新描述即可,因此它一定是它不喜欢的引用
  • 好的,解决了。引用中的 URL 值必须经过编码。就是这样。

标签: microsoft-graph-api


【解决方案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"
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 2019-10-14
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多