更新 plannerTask
本文内容
命名空间: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.PlannerTaskItemRequestBuilderPatchRequestConfiguration{
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
}