microsoft-graph-api - 使用清单添加 Planner 任务
问题描述
我正在尝试创建一个包含清单的新任务。
我在这篇文章中读到,我需要分两步执行此操作;
1. 创建任务
2.PATCH
任务,添加清单项目。
尝试PATCH
添加任务时,它不会添加任何内容。它仅编辑现有值,例如“标题”。我找不到任何详细信息的方法或文档,或者在创建任务时PUT
在初始时创建它们。POST
有人知道怎么做吗?
POST — 创建新任务:
URI: https://graph.microsoft.com/v1.0/planner/tasks
Content-Type : application/json
RAW:
{
"planId": "{plan_id}",
"bucketId": "{bucket_id}",
"title": "Here is a task",
"checklist": {
"95e27074-6c4a-447a-aa24-9d718a0b86fa":{
"@odata.type": "microsoft.graph.plannerChecklistItem",
"title": "Task details",
"ischecked": true
},
"d280ed1a-9f6b-4f9c-a962-fb4d00dc50ff":{
"@odata.type": "microsoft.graph.plannerChecklistItem"
}
}
}
响应:正文,201 成功:
BODY:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#planner/tasks/$entity",
"@odata.etag": "W/\"…ETag…\"",
"planId": "{plan_id}",
"bucketId": "{bucket_id}",
"title": "Here is a task",
"orderHint": "8586523326629295130",
"assigneePriority": "",
"percentComplete": 0,
"startDateTime": null,
"createdDateTime": "2019-02-04T09:57:02.5480677Z",
"dueDateTime": null,
"hasDescription": false,
"previewType": "automatic",
"completedDateTime": null,
"completedBy": null,
"referenceCount": 0,
"checklistItemCount": 0,
"activeChecklistItemCount": 0,
"conversationThreadId": null,
"id": "{task_id}",
"createdBy": {
"user": {
"displayName": null,
"id": "{UID}"
}
},
"appliedCategories": {},
"assignments": {}
}
还尝试将checklist
块放入details
块中,并获得完全相同的结果。
"details": {
"checklist": { … }
}
PATCH - 更新现有任务:
URI: https://graph.microsoft.com/v1.0/planner/tasks/{task_id}
HEADERS:
If-Match : W/"…ETag…"
Content-type : application/json
RAW:
{
"title": "New title",
"checklist": {
"95e27074-6c4a-447a-aa24-9d718a0b86fa":{
"@odata.type": "microsoft.graph.plannerChecklistItem",
"title": "Update task details",
"ischecked": true
},
"d280ed1a-9f6b-4f9c-a962-fb4d00dc50ff":{
"@odata.type": "microsoft.graph.plannerChecklistItem"
}
}
}
响应:空,204成功。标题已更改,但没有新的清单项目。
解决方案
您不能在创建任务的同时更新详细信息。plannerTask
和是不同的plannerTaskDetails
对象。此外, a 的details
属性plannerTask
是只读的。
推荐阅读
- java - 如何在java中重复代码
- swift - 生成枚举的这段代码如何在 Swift 中工作?
- python - 如何使用带空格的命令名称?
- api - 发送消息 API 响应中的 Mandrill status = "invalid" 是什么意思
- javascript - jQuery | 如何将下一个json提取到控制台?
- python - 在python中使用滑动窗口概念的GC skew方法
- sql - 使用动态数据库比较两个表
- python - 客观论点在 python 的 xgboost 中是如何工作的?
- javascript - CSS/JS 图像点击更改在多个设备上同步
- c++ - 更好的 CPU 运行时间,并且可以轻松修改以支持 GPU