更新 todoTask
命名空间:microsoft.graph
更新 todoTask 对象的属性。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
Tasks.ReadWrite |
| 委派(个人 Microsoft 帐户) |
Tasks.ReadWrite |
| 应用 |
不支持 |
HTTP 请求
PATCH /me/todo/lists/{todoTaskListId}/tasks/{taskId}
PATCH /users/{id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks/{taskId}
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供 todoTask 对象的 JSON 表示形式。
下表显示了创建 todoTask 时所需的属性。
| 属性 |
类型 |
说明 |
| id |
String |
任务的唯一标识符。 继承自 实体 |
| body |
itemBody |
通常包含有关任务的信息的任务正文。 请注意,仅支持 HTML 类型。 |
| 类别 |
String 集合 |
与任务关联的类别。 每个类别对应于用户定义的 outlookCategory 的 displayName 属性。 |
| completedDateTime |
dateTimeTimeZone |
在指定时区内完成任务的日期。 |
| dueDateTime |
dateTimeTimeZone |
要在指定时区内完成任务的日期。 |
| importance |
importance |
事件的重要性。 可取值为:low、normal、high。 |
| isReminderOn |
Boolean |
如果设置警报以提醒用户有任务,则设置为 true。 |
| recurrence |
patternedRecurrence |
任务的定期模式。 |
| reminderDateTime |
dateTimeTimeZone |
提醒警报发出任务发生提醒的日期和时间。 |
| 状态 |
任务状态 |
指示任务的状态或进度。 可取值为:notStarted、inProgress、completed、waitingOnOthers、deferred。 |
| title |
String |
任务的简要说明。 |
| createdDateTime |
DateTimeOffset |
任务的创建日期和时间。 默认情况下,它采用 UTC 格式。 你可以在请求标头中提供自定义时区。 |
| lastModifiedDateTime |
DateTimeOffset |
上次修改任务的日期和时间。 默认情况下,它采用 UTC 格式。 你可以在请求标头中提供自定义时区。 |
| bodyLastModifiedDateTime |
DateTimeOffset |
上次修改任务正文的日期和时间。 默认情况下,它采用 UTC 格式。 你可以在请求标头中提供自定义时区。 |
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和更新的 todoTask 对象。
示例
请求
PATCH https://graph.microsoft.com/v1.0/me/todo/lists/AAMkADA1MTHgwAAA=/tasks/721a35e2-35e2-721a-e235-1a72e2351a72
Content-Type: application/json
{
"dueDateTime":{
"dateTime":"2020-07-25T16:00:00",
"timeZone":"Eastern Standard Time"
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var todoTask = new TodoTask
{
DueDateTime = new DateTimeTimeZone
{
DateTime = "2020-07-25T16:00:00",
TimeZone = "Eastern Standard Time"
}
};
await graphClient.Me.Todo.Lists["{todoTaskList-id}"].Tasks["{todoTask-id}"]
.Request()
.UpdateAsync(todoTask);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const todoTask = {
dueDateTime: {
dateTime: '2020-07-25T16:00:00',
timeZone: 'Eastern Standard Time'
}
};
await client.api('/me/todo/lists/AAMkADA1MTHgwAAA=/tasks/721a35e2-35e2-721a-e235-1a72e2351a72')
.update(todoTask);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/todo/lists/AAMkADA1MTHgwAAA=/tasks/721a35e2-35e2-721a-e235-1a72e2351a72"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphTodoTask *todoTask = [[MSGraphTodoTask alloc] init];
MSGraphDateTimeTimeZone *dueDateTime = [[MSGraphDateTimeTimeZone alloc] init];
[dueDateTime setDateTime: "2020-07-25T16:00:00"];
[dueDateTime setTimeZone:@"Eastern Standard Time"];
[todoTask setDueDateTime:dueDateTime];
NSError *error;
NSData *todoTaskData = [todoTask getSerializedDataWithError:&error];
[urlRequest setHTTPBody:todoTaskData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
TodoTask todoTask = new TodoTask();
DateTimeTimeZone dueDateTime = new DateTimeTimeZone();
dueDateTime.dateTime = "2020-07-25T16:00:00";
dueDateTime.timeZone = "Eastern Standard Time";
todoTask.dueDateTime = dueDateTime;
graphClient.me().todo().lists("AAMkADA1MTHgwAAA=").tasks("721a35e2-35e2-721a-e235-1a72e2351a72")
.buildRequest()
.patch(todoTask);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTodoTask()
dueDateTime := msgraphsdk.NewDateTimeTimeZone()
requestBody.SetDueDateTime(dueDateTime)
dateTime := "2020-07-25T16:00:00"
dueDateTime.SetDateTime(&dateTime)
timeZone := "Eastern Standard Time"
dueDateTime.SetTimeZone(&timeZone)
todoTaskListId := "todoTaskList-id"
todoTaskId := "todoTask-id"
graphClient.Me().Todo().ListsById(&todoTaskListId).TasksById(&todoTaskId).Patch(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Users
$params = @{
DueDateTime = @{
DateTime = "2020-07-25T16:00:00"
TimeZone = "Eastern Standard Time"
}
}
# A UPN can also be used as -UserId.
Update-MgUserTodoListTask -UserId $userId -TodoTaskListId $todoTaskListId -TodoTaskId $todoTaskId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#tasks/$entity",
"@odata.etag": "W/\"s8/ERWT3WEeFpBGD0bDgAA+TWq9g==\"",
"importance": "low",
"isReminderOn": false,
"status": "notStarted",
"title": "Shop for dinner",
"createdDateTime": "2020-07-22T10:39:03.7937971Z",
"lastModifiedDateTime": "2020-07-22T12:02:10.8835421Z",
"categories": [],
"id": "721a35e2-35e2-721a-e235-1a72e2351a72",
"body": {
"content": "",
"contentType": "text"
},
"dueDateTime": {
"dateTime": "2020-08-25T04:00:00.0000000",
"timeZone": "UTC"
}
}