命名空间:microsoft.graph
在指定的 todoTaskList 中创建新的任务对象。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
Tasks.ReadWrite |
不可用。 |
委派(个人 Microsoft 帐户) |
Tasks.ReadWrite |
不可用。 |
应用程序 |
不支持。 |
不支持。 |
HTTP 请求
POST /me/todo/lists/{todoTaskListId}/tasks
POST /users/{id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks
名称 |
说明 |
Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供 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 |
提醒警报发出任务发生提醒的日期和时间。 |
startDateTime |
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"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new TodoTask
{
Title = "A new task",
Categories = new List<string>
{
"Important",
},
LinkedResources = new List<LinkedResource>
{
new LinkedResource
{
WebUrl = "http://microsoft.com",
ApplicationName = "Microsoft",
DisplayName = "Microsoft",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Todo.Lists["{todoTaskList-id}"].Tasks.PostAsync(requestBody);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
mgc users todo lists tasks create --user-id {user-id} --todo-task-list-id {todoTaskList-id} --body '{\
"title":"A new task",\
"categories": ["Important"],\
"linkedResources":[\
{\
"webUrl":"http://microsoft.com",\
"applicationName":"Microsoft",\
"displayName":"Microsoft"\
}\
]\
}\
'
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewTodoTask()
title := "A new task"
requestBody.SetTitle(&title)
categories := []string {
"Important",
}
requestBody.SetCategories(categories)
linkedResource := graphmodels.NewLinkedResource()
webUrl := "http://microsoft.com"
linkedResource.SetWebUrl(&webUrl)
applicationName := "Microsoft"
linkedResource.SetApplicationName(&applicationName)
displayName := "Microsoft"
linkedResource.SetDisplayName(&displayName)
linkedResources := []graphmodels.LinkedResourceable {
linkedResource,
}
requestBody.SetLinkedResources(linkedResources)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
tasks, err := graphClient.Me().Todo().Lists().ByTodoTaskListId("todoTaskList-id").Tasks().Post(context.Background(), requestBody, nil)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
TodoTask todoTask = new TodoTask();
todoTask.setTitle("A new task");
LinkedList<String> categories = new LinkedList<String>();
categories.add("Important");
todoTask.setCategories(categories);
LinkedList<LinkedResource> linkedResources = new LinkedList<LinkedResource>();
LinkedResource linkedResource = new LinkedResource();
linkedResource.setWebUrl("http://microsoft.com");
linkedResource.setApplicationName("Microsoft");
linkedResource.setDisplayName("Microsoft");
linkedResources.add(linkedResource);
todoTask.setLinkedResources(linkedResources);
TodoTask result = graphClient.me().todo().lists().byTodoTaskListId("{todoTaskList-id}").tasks().post(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 文档。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\TodoTask;
use Microsoft\Graph\Generated\Models\LinkedResource;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new TodoTask();
$requestBody->setTitle('A new task');
$requestBody->setCategories(['Important', ]);
$linkedResourcesLinkedResource1 = new LinkedResource();
$linkedResourcesLinkedResource1->setWebUrl('http://microsoft.com');
$linkedResourcesLinkedResource1->setApplicationName('Microsoft');
$linkedResourcesLinkedResource1->setDisplayName('Microsoft');
$linkedResourcesArray []= $linkedResourcesLinkedResource1;
$requestBody->setLinkedResources($linkedResourcesArray);
$result = $graphServiceClient->me()->todo()->lists()->byTodoTaskListId('todoTaskList-id')->tasks()->post($requestBody)->wait();
有关如何将 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 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.todo_task import TodoTask
from msgraph.generated.models.linked_resource import LinkedResource
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = TodoTask(
title = "A new task",
categories = [
"Important",
],
linked_resources = [
LinkedResource(
web_url = "http://microsoft.com",
application_name = "Microsoft",
display_name = "Microsoft",
),
],
)
result = await graph_client.me.todo.lists.by_todo_task_list_id('todoTaskList-id').tasks.post(request_body)
有关如何将 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"
}
]
}