创建 todoTask
命名空间:microsoft.graph
在指定 的 todoTaskList 中创建新任务对象。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
Tasks.ReadWrite |
| 委派(个人 Microsoft 帐户) |
Tasks.ReadWrite |
| 应用程序 |
不支持。 |
HTTP 请求
POST /me/todo/lists/{todoTaskListId}/tasks
POST /users/{id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供 todoTask 对象的 JSON 表示形式。
下表显示了创建 todoTask 时所需的属性。
| 属性 |
类型 |
说明 |
| id |
String |
任务的唯一标识符。 默认情况下,当项从一个列表移动到另一个列表时,此值会更改。 |
| body |
itemBody |
通常包含有关任务的信息的任务正文。 |
| 类别 |
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 格式。 你可以在请求标头中提供自定义时区。 属性值使用 ISO 8601 格式。 例如,2020 年 1 月 1 日午夜 UTC 如下所示:“2020-01-01T00:00:00Z”。 |
| lastModifiedDateTime |
DateTimeOffset |
上次修改任务的日期和时间。 默认情况下,它采用 UTC 格式。 你可以在请求标头中提供自定义时区。 属性值使用 ISO 8601 格式,并始终处于 UTC 时间。 例如,2020 年 1 月 1 日午夜 UTC 如下所示:“2020-01-01T00:00:00Z”。 |
| bodyLastModifiedDateTime |
DateTimeOffset |
上次修改任务的日期和时间。 默认情况下,它采用 UTC 格式。 你可以在请求标头中提供自定义时区。 属性值使用 ISO 8601 格式,并始终处于 UTC 时间。 例如,2020 年 1 月 1 日午夜 UTC 如下所示:“2020-01-01T00:00:00Z”。 |
响应
如果成功,此方法在响应正文中返回 201 Created 响应代码和 todoTask 对象。
示例
请求
以下示例在指定的任务列表中创建 todoTask ,并包含 linkedResource。
POST https://graph.microsoft.com/v1.0/me/todo/lists/AQMkADAwATM0MDAAMS0yMDkyLWVjMzYtM/tasks
Content-Type: application/json
{
"title":"A new task",
"categories": ["Important"],
"linkedResources":[
{
"webUrl":"http://microsoft.com",
"applicationName":"Microsoft",
"displayName":"Microsoft"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var todoTask = new TodoTask
{
Title = "A new task",
Categories = new List<String>()
{
"Important"
},
LinkedResources = new TodoTaskLinkedResourcesCollectionPage()
{
new LinkedResource
{
WebUrl = "http://microsoft.com",
ApplicationName = "Microsoft",
DisplayName = "Microsoft"
}
}
};
await graphClient.Me.Todo.Lists["{todoTaskList-id}"].Tasks
.Request()
.AddAsync(todoTask);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const todoTask = {
title: 'A new task',
categories: ['Important'],
linkedResources: [
{
webUrl: 'http://microsoft.com',
applicationName: 'Microsoft',
displayName: 'Microsoft'
}
]
};
await client.api('/me/todo/lists/AQMkADAwATM0MDAAMS0yMDkyLWVjMzYtM/tasks')
.post(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/AQMkADAwATM0MDAAMS0yMDkyLWVjMzYtM/tasks"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphTodoTask *todoTask = [[MSGraphTodoTask alloc] init];
[todoTask setTitle:@"A new task"];
NSMutableArray *linkedResourcesList = [[NSMutableArray alloc] init];
MSGraphLinkedResource *linkedResources = [[MSGraphLinkedResource alloc] init];
[linkedResources setWebUrl:@"http://microsoft.com"];
[linkedResources setApplicationName:@"Microsoft"];
[linkedResources setDisplayName:@"Microsoft"];
[linkedResourcesList addObject: linkedResources];
[todoTask setLinkedResources:linkedResourcesList];
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();
todoTask.title = "A new task";
LinkedList<String> categoriesList = new LinkedList<String>();
categoriesList.add("Important");
todoTask.categories = categoriesList;
LinkedList<LinkedResource> linkedResourcesList = new LinkedList<LinkedResource>();
LinkedResource linkedResources = new LinkedResource();
linkedResources.webUrl = "http://microsoft.com";
linkedResources.applicationName = "Microsoft";
linkedResources.displayName = "Microsoft";
linkedResourcesList.add(linkedResources);
LinkedResourceCollectionResponse linkedResourceCollectionResponse = new LinkedResourceCollectionResponse();
linkedResourceCollectionResponse.value = linkedResourcesList;
LinkedResourceCollectionPage linkedResourceCollectionPage = new LinkedResourceCollectionPage(linkedResourceCollectionResponse, null);
todoTask.linkedResources = linkedResourceCollectionPage;
graphClient.me().todo().lists("AQMkADAwATM0MDAAMS0yMDkyLWVjMzYtM").tasks()
.buildRequest()
.post(todoTask);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTodoTask()
title := "A new task"
requestBody.SetTitle(&title)
requestBody.SetCategories( []String {
"Important",
}
requestBody.SetLinkedResources( []LinkedResource {
msgraphsdk.NewLinkedResource(),
webUrl := "http://microsoft.com"
SetWebUrl(&webUrl)
applicationName := "Microsoft"
SetApplicationName(&applicationName)
displayName := "Microsoft"
SetDisplayName(&displayName)
}
todoTaskListId := "todoTaskList-id"
result, err := graphClient.Me().Todo().ListsById(&todoTaskListId).Tasks().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Users
$params = @{
Title = "A new task"
Categories = @(
"Important"
)
LinkedResources = @(
@{
WebUrl = "http://microsoft.com"
ApplicationName = "Microsoft"
DisplayName = "Microsoft"
}
)
}
# A UPN can also be used as -UserId.
New-MgUserTodoListTask -UserId $userId -TodoTaskListId $todoTaskListId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.etag":"W/\"xzyPKP0BiUGgld+lMKXwbQAAnBoTIw==\"",
"importance":"low",
"isReminderOn":false,
"status":"notStarted",
"title":"A new task",
"createdDateTime":"2020-08-18T09:03:05.8339192Z",
"lastModifiedDateTime":"2020-08-18T09:03:06.0827766Z",
"categories": ["Important"],
"id":"AlMKXwbQAAAJws6wcAAAA=",
"body":{
"content":"",
"contentType":"text"
},
"linkedResources":[
{
"id":"f9cddce2-dce2-f9cd-e2dc-cdf9e2dccdf9",
"webUrl":"http://microsoft.com",
"applicationName":"Microsoft",
"displayName":"Microsoft"
}
]
}