命名空间:microsoft.graph
更新 plannerTask 对象的属性。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
Tasks.ReadWrite |
Group.ReadWrite.All |
委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
应用程序 |
Tasks.ReadWrite.All |
不可用。 |
HTTP 请求
PATCH /planner/tasks/{id}
名称 |
说明 |
Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Content-Type |
application/json. 必需。 |
If-Match |
要更新 plannerTask 的最后一个已知 ETag 值。 必填。 |
请求正文
在请求正文中, 仅 提供要更新的属性的值。 请求正文中未包含的现有属性会保留其以前的值,或者根据对其他属性值的更改重新计算。
下表指定可更新的属性。
属性 |
类型 |
说明 |
appliedCategories |
plannerAppliedCategories |
任务已应用到的类别。 有关可能的值,请参阅 appliedCategories。 |
assigneePriority |
String |
用于在列表视图中对此类项进行排序的提示。 格式在 Planner 中使用顺序提示中定义。 |
assignments |
plannerAssignments |
分配到任务的用户集合。 |
bucketId |
String |
此任务所属的存储桶 ID。 存储桶需要位于任务所在的计划中。 该值长度为 28 个字符,区分大小写。
格式验证在服务上完成。 |
conversationThreadId |
字符串 |
任务上的会话的线程 ID。 这是组中创建的会话线程对象的 ID。 |
dueDateTime |
DateTimeOffset |
任务截止的日期和时间。 时间戳类型表示采用 ISO 8601 格式的日期和时间信息,始终采用 UTC 时区。 例如,2014 年 1 月 1 日午夜 UTC 为 2014-01-01T00:00:00Z |
orderHint |
String |
用于在列表视图中对此类项进行排序的提示。 格式在 Planner 中使用顺序提示中定义。 |
priority |
Int32 |
任务优先级。 有效值范围介于 0 和 10 之间,优先级与递增数值成反比(0 优先级最高, 10 优先级最低)。 目前,Planner 将值 0 和 1 解释为“紧急”,值 2 、3 和 4 为“重要”,值 5 、6 和 7 为“中等”,值 8 、 9 和 10 为“低”。 此外,Planner 将值 1 设置为“紧急”,值 3 为“重要”,值 5 为“中等”,值 9 为“低”。 |
percentComplete |
Int32 |
任务完成百分比。
100 设置为 时,任务被视为已完成。 |
startDateTime |
DateTimeOffset |
任务开始的日期和时间。 时间戳类型表示采用 ISO 8601 格式的日期和时间信息,始终采用 UTC 时区。 例如,2014 年 1 月 1 日午夜 UTC 为 2014-01-01T00:00:00Z 。 |
title |
String |
任务的标题。 |
注意
对于复制到Planner的项目任务,只能更新 percentComplete 属性。
响应
如果成功,此方法将 204 No Content
返回响应代码和空内容。 如果请求指定具有return=representation
首选项的Prefer
标头,则此方法在响应正文中返回响应200 OK
代码和更新的 plannerTask 对象。
此方法可以返回任何 HTTP 状态代码。 应用应为此方法处理的最常见错误是 400、403、404、409 和 412 响应。 有关这些错误的详细信息,请参阅常见Planner错误条件。
示例
请求
以下示例显示了一个请求。
PATCH https://graph.microsoft.com/v1.0/planner/tasks/{task-id}
Content-type: application/json
Prefer: return=representation
If-Match: W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="
{
"assignments": {
"fbab97d0-4932-4511-b675-204639209557": {
"@odata.type": "#microsoft.graph.plannerAssignment",
"orderHint": "N9917 U2883!"
}
},
"appliedCategories": {
"category3": true,
"category4": false
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new PlannerTask
{
Assignments = new PlannerAssignments
{
AdditionalData = new Dictionary<string, object>
{
{
"fbab97d0-4932-4511-b675-204639209557" , new PlannerAssignment
{
OdataType = "#microsoft.graph.plannerAssignment",
OrderHint = "N9917 U2883!",
}
},
},
},
AppliedCategories = new PlannerAppliedCategories
{
AdditionalData = new Dictionary<string, object>
{
{
"category3" , true
},
{
"category4" , false
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Planner.Tasks["{plannerTask-id}"].PatchAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Prefer", "return=representation");
requestConfiguration.Headers.Add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"");
});
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
mgc planner tasks patch --planner-task-id {plannerTask-id} --if-match "W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="" --body '{\
"assignments": {\
"fbab97d0-4932-4511-b675-204639209557": {\
"@odata.type": "#microsoft.graph.plannerAssignment",\
"orderHint": "N9917 U2883!"\
}\
},\
"appliedCategories": {\
"category3": true,\
"category4": false\
}\
}\
'
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
graphplanner "github.com/microsoftgraph/msgraph-sdk-go/planner"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Prefer", "return=representation")
headers.Add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"")
configuration := &graphplanner.TasksItemRequestBuilderPatchRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewPlannerTask()
assignments := graphmodels.NewPlannerAssignments()
additionalData := map[string]interface{}{
"fbab97d0-4932-4511-b675-204639209557" := graphmodels.NewPlannerAssignment()
orderHint := "N9917 U2883!"
"fbab97d0-4932-4511-b675-204639209557".SetOrderHint(&orderHint)
assignments.Set"fbab97d0-4932-4511-b675-204639209557"("fbab97d0-4932-4511-b675-204639209557")
}
assignments.SetAdditionalData(additionalData)
requestBody.SetAssignments(assignments)
appliedCategories := graphmodels.NewPlannerAppliedCategories()
additionalData := map[string]interface{}{
category3 := true
appliedCategories.SetCategory3(&category3)
category4 := false
appliedCategories.SetCategory4(&category4)
}
appliedCategories.SetAdditionalData(additionalData)
requestBody.SetAppliedCategories(appliedCategories)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
tasks, err := graphClient.Planner().Tasks().ByPlannerTaskId("plannerTask-id").Patch(context.Background(), requestBody, configuration)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
PlannerTask plannerTask = new PlannerTask();
PlannerAssignments assignments = new PlannerAssignments();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
PlannerAssignment fbab97d049324511B675204639209557 = new PlannerAssignment();
fbab97d049324511B675204639209557.setOdataType("#microsoft.graph.plannerAssignment");
fbab97d049324511B675204639209557.setOrderHint("N9917 U2883!");
additionalData.put("fbab97d0-4932-4511-b675-204639209557", fbab97d049324511B675204639209557);
assignments.setAdditionalData(additionalData);
plannerTask.setAssignments(assignments);
PlannerAppliedCategories appliedCategories = new PlannerAppliedCategories();
HashMap<String, Object> additionalData1 = new HashMap<String, Object>();
additionalData1.put("category3", true);
additionalData1.put("category4", false);
appliedCategories.setAdditionalData(additionalData1);
plannerTask.setAppliedCategories(appliedCategories);
PlannerTask result = graphClient.planner().tasks().byPlannerTaskId("{plannerTask-id}").patch(plannerTask, requestConfiguration -> {
requestConfiguration.headers.add("Prefer", "return=representation");
requestConfiguration.headers.add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"");
});
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const plannerTask = {
assignments: {
'fbab97d0-4932-4511-b675-204639209557': {
'@odata.type': '#microsoft.graph.plannerAssignment',
orderHint: 'N9917 U2883!'
}
},
appliedCategories: {
category3: true,
category4: false
}
};
await client.api('/planner/tasks/{task-id}')
.update(plannerTask);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Planner\Tasks\Item\PlannerTaskItemRequestBuilderPatchRequestConfiguration;
use Microsoft\Graph\Generated\Models\PlannerTask;
use Microsoft\Graph\Generated\Models\PlannerAssignments;
use Microsoft\Graph\Generated\Models\PlannerAssignment;
use Microsoft\Graph\Generated\Models\PlannerAppliedCategories;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new PlannerTask();
$assignments = new PlannerAssignments();
$additionalData = [
'fbab97d0-4932-4511-b675-204639209557' => [
'@odata.type' => '#microsoft.graph.plannerAssignment',
'orderHint' => 'N9917 U2883!',
],
];
$assignments->setAdditionalData($additionalData);
$requestBody->setAssignments($assignments);
$appliedCategories = new PlannerAppliedCategories();
$additionalData = [
'category3' => true,
'category4' => false,
];
$appliedCategories->setAdditionalData($additionalData);
$requestBody->setAppliedCategories($appliedCategories);
$requestConfiguration = new PlannerTaskItemRequestBuilderPatchRequestConfiguration();
$headers = [
'Prefer' => 'return=representation',
'If-Match' => 'W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->planner()->tasks()->byPlannerTaskId('plannerTask-id')->patch($requestBody, $requestConfiguration)->wait();
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Planner
$params = @{
assignments = @{
"fbab97d0-4932-4511-b675-204639209557" = @{
"@odata.type" = "#microsoft.graph.plannerAssignment"
orderHint = "N9917 U2883!"
}
}
appliedCategories = @{
category3 = $true
category4 = $false
}
}
Update-MgPlannerTask -PlannerTaskId $plannerTaskId -BodyParameter $params -IfMatch W/'"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="'
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.planner.tasks.item.planner_task_item_request_builder import PlannerTaskItemRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph.generated.models.planner_task import PlannerTask
from msgraph.generated.models.planner_assignments import PlannerAssignments
from msgraph.generated.models.planner_assignment import PlannerAssignment
from msgraph.generated.models.planner_applied_categories import PlannerAppliedCategories
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = PlannerTask(
assignments = PlannerAssignments(
additional_data = {
"fbab97d0-4932-4511-b675-204639209557" : {
"@odata_type" : "#microsoft.graph.plannerAssignment",
"order_hint" : "N9917 U2883!",
},
}
),
applied_categories = PlannerAppliedCategories(
additional_data = {
"category3" : True,
"category4" : False,
}
),
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Prefer", "return=representation")
request_configuration.headers.add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"")
result = await graph_client.planner.tasks.by_planner_task_id('plannerTask-id').patch(request_body, request_configuration = request_configuration)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"createdBy": {
"user": {
"id": "6463a5ce-2119-4198-9f2a-628761df4a62"
}
},
"planId": "xqQg5FS2LkCp935s-FIFm2QAFkHM",
"bucketId": "gcrYAaAkgU2EQUvpkNNXLGQAGTtu",
"title": "title-value",
"orderHint": "9223370609546166567W",
"assigneePriority": "90057581\"",
"createdDateTime": "2015-03-24T18:36:49.2407981Z",
"assignments": {
"6463a5ce-2119-4198-9f2a-628761df4a62": {
"@odata.type": "#microsoft.graph.plannerAssignment",
"assignedBy": {
"user": {
"id": "6463a5ce-2119-4198-9f2a-628761df4a62"
}
},
"assignedDateTime": "2015-03-25T18:38:21.956Z",
"orderHint": "N9917"
},
"fbab97d0-4932-4511-b675-204639209557": {
"@odata.type": "#microsoft.graph.plannerAssignment",
"assignedBy": {
"user": {
"id": "1e9955d2-6acd-45bf-86d3-b546fdc795eb"
}
},
"assignedDateTime": "2017-04-24T22:40:44.5665917",
"orderHint": "RWk1"
},
"aaa27244-1db4-476a-a5cb-004607466324": {
"@odata.type": "#microsoft.graph.plannerAssignment",
"assignedBy": {
"user": {
"id": "6463a5ce-2119-4198-9f2a-628761df4a62"
}
},
"assignedDateTime": "2015-03-25T18:38:21.956Z",
"orderHint": "U2883"
}
},
"appliedCategories": {
"category3": true,
"category5": true,
"category6": true,
},
"id":"01gzSlKkIUSUl6DF_EilrmQAKDhh",
"priority": 5
}