命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
警告
Outlook 任务 API 已于 2022 年 8 月 20 日弃用并停止返回数据。 请改用 “To Do API ”。
在指定的任务文件夹中创建 Outlook 任务。
POST 方法始终忽略请求正文中 startDateTime 和 dueDateTime 的时间部分,并假定时间始终为指定时区的午夜。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
Tasks.ReadWrite |
不可用。 |
委派(个人 Microsoft 帐户) |
Tasks.ReadWrite |
不可用。 |
应用程序 |
不支持。 |
不支持。 |
HTTP 请求
POST /me/outlook/taskFolders/{id}/tasks
POST /me/outlook/taskGroups/{id}/taskFolders/{id}/tasks
POST /users/{id|userPrincipalName}/outlook/taskFolders/{id}/tasks
POST /users/{id|userPrincipalName}/outlook/taskGroups/{id}/taskFolders/{id}/tasks
名称 |
说明 |
Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Prefer: outlook.timezone |
指定响应中时间属性的时区,如果未指定此标头,则为 UTC。 可选。 |
请求正文
在请求正文中,提供 outlookTask 对象的 JSON 表示形式。
响应
如果成功,此方法在 201 Created
响应正文中返回响应代码和 outlookTask 对象。
示例
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/me/outlook/taskFolders/AAMkADIyAAAhrbPXAAA=/tasks
Content-type: application/json
{
"subject": "Shop for dinner",
"startDateTime": {
"dateTime": "2016-04-23T18:00:00",
"timeZone": "Pacific Standard Time"
},
"dueDateTime": {
"dateTime": "2016-04-25T13:00:00",
"timeZone": "Pacific Standard Time"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new OutlookTask
{
Subject = "Shop for dinner",
StartDateTime = new DateTimeTimeZone
{
DateTime = "2016-04-23T18:00:00",
TimeZone = "Pacific Standard Time",
},
DueDateTime = new DateTimeTimeZone
{
DateTime = "2016-04-25T13:00:00",
TimeZone = "Pacific Standard Time",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Outlook.TaskFolders["{outlookTaskFolder-id}"].Tasks.PostAsync(requestBody);
mgc-beta users outlook task-folders tasks create --user-id {user-id} --outlook-task-folder-id {outlookTaskFolder-id} --body '{\
"subject": "Shop for dinner",\
"startDateTime": {\
"dateTime": "2016-04-23T18:00:00",\
"timeZone": "Pacific Standard Time"\
},\
"dueDateTime": {\
"dateTime": "2016-04-25T13:00:00",\
"timeZone": "Pacific Standard Time"\
}\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewOutlookTask()
subject := "Shop for dinner"
requestBody.SetSubject(&subject)
startDateTime := graphmodels.NewDateTimeTimeZone()
dateTime := "2016-04-23T18:00:00"
startDateTime.SetDateTime(&dateTime)
timeZone := "Pacific Standard Time"
startDateTime.SetTimeZone(&timeZone)
requestBody.SetStartDateTime(startDateTime)
dueDateTime := graphmodels.NewDateTimeTimeZone()
dateTime := "2016-04-25T13:00:00"
dueDateTime.SetDateTime(&dateTime)
timeZone := "Pacific Standard Time"
dueDateTime.SetTimeZone(&timeZone)
requestBody.SetDueDateTime(dueDateTime)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
tasks, err := graphClient.Me().Outlook().TaskFolders().ByOutlookTaskFolderId("outlookTaskFolder-id").Tasks().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
OutlookTask outlookTask = new OutlookTask();
outlookTask.setSubject("Shop for dinner");
DateTimeTimeZone startDateTime = new DateTimeTimeZone();
startDateTime.setDateTime("2016-04-23T18:00:00");
startDateTime.setTimeZone("Pacific Standard Time");
outlookTask.setStartDateTime(startDateTime);
DateTimeTimeZone dueDateTime = new DateTimeTimeZone();
dueDateTime.setDateTime("2016-04-25T13:00:00");
dueDateTime.setTimeZone("Pacific Standard Time");
outlookTask.setDueDateTime(dueDateTime);
OutlookTask result = graphClient.me().outlook().taskFolders().byOutlookTaskFolderId("{outlookTaskFolder-id}").tasks().post(outlookTask);
const options = {
authProvider,
};
const client = Client.init(options);
const outlookTask = {
subject: 'Shop for dinner',
startDateTime: {
dateTime: '2016-04-23T18:00:00',
timeZone: 'Pacific Standard Time'
},
dueDateTime: {
dateTime: '2016-04-25T13:00:00',
timeZone: 'Pacific Standard Time'
}
};
await client.api('/me/outlook/taskFolders/AAMkADIyAAAhrbPXAAA=/tasks')
.version('beta')
.post(outlookTask);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\OutlookTask;
use Microsoft\Graph\Beta\Generated\Models\DateTimeTimeZone;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new OutlookTask();
$requestBody->setSubject('Shop for dinner');
$startDateTime = new DateTimeTimeZone();
$startDateTime->setDateTime('2016-04-23T18:00:00');
$startDateTime->setTimeZone('Pacific Standard Time');
$requestBody->setStartDateTime($startDateTime);
$dueDateTime = new DateTimeTimeZone();
$dueDateTime->setDateTime('2016-04-25T13:00:00');
$dueDateTime->setTimeZone('Pacific Standard Time');
$requestBody->setDueDateTime($dueDateTime);
$result = $graphServiceClient->me()->outlook()->taskFolders()->byOutlookTaskFolderId('outlookTaskFolder-id')->tasks()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Users
$params = @{
subject = "Shop for dinner"
startDateTime = @{
dateTime = "2016-04-23T18:00:00"
timeZone = "Pacific Standard Time"
}
dueDateTime = @{
dateTime = "2016-04-25T13:00:00"
timeZone = "Pacific Standard Time"
}
}
# A UPN can also be used as -UserId.
New-MgBetaUserOutlookTaskFolderTask -UserId $userId -OutlookTaskFolderId $outlookTaskFolderId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.outlook_task import OutlookTask
from msgraph_beta.generated.models.date_time_time_zone import DateTimeTimeZone
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = OutlookTask(
subject = "Shop for dinner",
start_date_time = DateTimeTimeZone(
date_time = "2016-04-23T18:00:00",
time_zone = "Pacific Standard Time",
),
due_date_time = DateTimeTimeZone(
date_time = "2016-04-25T13:00:00",
time_zone = "Pacific Standard Time",
),
)
result = await graph_client.me.outlook.task_folders.by_outlook_task_folder_id('outlookTaskFolder-id').tasks.post(request_body)
在请求正文中,提供 outlookTask 对象的 JSON 表示形式。
响应
POST 方法忽略请求正文中的时间部分,并假定时间始终在指定时区 (PST) 午夜。
然后,默认情况下,POST 方法在响应中转换并显示 UTC 中的所有与日期相关的属性。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"createdDateTime": "2016-04-22T05:44:01.2012012Z",
"lastModifiedDateTime": "2016-04-22T05:44:02.9980882Z",
"changeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMxw==",
"categories": [ ],
"assignedTo": "null",
"body": {
"contentType": "Text",
"content": ""
},
"completedDateTime": null,
"dueDateTime": {
"dateTime": "2016-04-25T07:00:00.0000000",
"timeZone": "UTC"
},
"hasAttachments":false,
"importance": "Normal",
"isReminderOn": false,
"owner": "Administrator",
"parentFolderId": "AQMkADA1MTkAAAAIBEgAAAA==",
"recurrence": null,
"reminderDateTime": null,
"sensitivity": "Normal",
"startDateTime": {
"dateTime": "2016-04-23T07:00:00.0000000",
"timeZone": "UTC"
},
"status": "NotStarted",
"subject": "Shop for dinner"
}