命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
拒绝用户日历中指定事件的邀请。
如果事件允许建议新时间,在拒绝事件时,被邀请者可以选择通过包括 proposedNewTime 参数来建议替代时间。 有关如何建议时间以及如何接收和接受新时间建议的详细信息,请参阅 建议新的会议时间。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
Calendars.ReadWrite |
不可用。 |
委派(个人 Microsoft 帐户) |
Calendars.ReadWrite |
不可用。 |
应用程序 |
Calendars.ReadWrite |
不可用。 |
HTTP 请求
POST /me/events/{id}/decline
POST /users/{id | userPrincipalName}/events/{id}/decline
POST /me/calendar/events/{id}/decline
POST /users/{id | userPrincipalName}/calendar/events/{id}/decline
POST /me/calendars/{id}/events/{id}/decline
POST /users/{id | userPrincipalName}/calendars/{id}/events/{id}/decline
POST /me/calendarGroups/{id}/calendars/{id}/events/{id}/decline
POST /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}/events/{id}/decline
名称 |
类型 |
说明 |
Authorization |
string |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Content-Type |
string |
实体正文中的数据性质。 必填。 |
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
参数 |
类型 |
说明 |
注释 |
String |
响应中包含的文本。 可选。 |
sendResponse |
Boolean |
如果将响应发送给组织者,则值为 true ;否则为 false 。 可选。 默认值为 true 。 |
proposedNewTime |
timeSlot |
会议请求开始和结束的被邀请者建议的备用日期/时间。 仅对允许新时间建议的事件有效。 设置此参数需要将 sendResponse 设置为 true 。 可选。 |
响应
如果成功,此方法返回 202 Accepted
响应代码。 它不会在响应正文中返回任何内容。
如果发生以下一种或两种情况,则此操作将返回 HTTP 400:
- 包含建议的NewTime 参数,但事件的allowNewTimeProposals 属性为
false
。
- 包含 建议的NewTime 参数,但 sendResponse 参数设置为
false
。
示例
下面是一个如何调用此 API 的示例。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/me/events/{id}/decline
Content-type: application/json
{
"comment": "I won't be able to make this week. How about next week?",
"sendResponse": true,
"proposedNewTime": {
"start": {
"dateTime": "2019-12-02T18:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-12-02T19: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.Me.Events.Item.Decline;
using Microsoft.Graph.Beta.Models;
var requestBody = new DeclinePostRequestBody
{
Comment = "I won't be able to make this week. How about next week?",
SendResponse = true,
ProposedNewTime = new TimeSlot
{
Start = new DateTimeTimeZone
{
DateTime = "2019-12-02T18:00:00",
TimeZone = "Pacific Standard Time",
},
End = new DateTimeTimeZone
{
DateTime = "2019-12-02T19: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
await graphClient.Me.Events["{event-id}"].Decline.PostAsync(requestBody);
mgc-beta users events decline post --user-id {user-id} --event-id {event-id} --body '{\
"comment": "I won't be able to make this week. How about next week?",\
"sendResponse": true,\
"proposedNewTime": {\
"start": { \
"dateTime": "2019-12-02T18:00:00", \
"timeZone": "Pacific Standard Time" \
}, \
"end": { \
"dateTime": "2019-12-02T19: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"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewItemDeclinePostRequestBody()
comment := "I won't be able to make this week. How about next week?"
requestBody.SetComment(&comment)
sendResponse := true
requestBody.SetSendResponse(&sendResponse)
proposedNewTime := graphmodels.NewTimeSlot()
start := graphmodels.NewDateTimeTimeZone()
dateTime := "2019-12-02T18:00:00"
start.SetDateTime(&dateTime)
timeZone := "Pacific Standard Time"
start.SetTimeZone(&timeZone)
proposedNewTime.SetStart(start)
end := graphmodels.NewDateTimeTimeZone()
dateTime := "2019-12-02T19:00:00"
end.SetDateTime(&dateTime)
timeZone := "Pacific Standard Time"
end.SetTimeZone(&timeZone)
proposedNewTime.SetEnd(end)
requestBody.SetProposedNewTime(proposedNewTime)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Me().Events().ByEventId("event-id").Decline().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.users.item.events.item.decline.DeclinePostRequestBody declinePostRequestBody = new com.microsoft.graph.beta.users.item.events.item.decline.DeclinePostRequestBody();
declinePostRequestBody.setComment("I won't be able to make this week. How about next week?");
declinePostRequestBody.setSendResponse(true);
TimeSlot proposedNewTime = new TimeSlot();
DateTimeTimeZone start = new DateTimeTimeZone();
start.setDateTime("2019-12-02T18:00:00");
start.setTimeZone("Pacific Standard Time");
proposedNewTime.setStart(start);
DateTimeTimeZone end = new DateTimeTimeZone();
end.setDateTime("2019-12-02T19:00:00");
end.setTimeZone("Pacific Standard Time");
proposedNewTime.setEnd(end);
declinePostRequestBody.setProposedNewTime(proposedNewTime);
graphClient.me().events().byEventId("{event-id}").decline().post(declinePostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const decline = {
comment: 'I won\'t be able to make this week. How about next week?',
sendResponse: true,
proposedNewTime: {
start: {
dateTime: '2019-12-02T18:00:00',
timeZone: 'Pacific Standard Time'
},
end: {
dateTime: '2019-12-02T19:00:00',
timeZone: 'Pacific Standard Time'
}
}
};
await client.api('/me/events/{id}/decline')
.version('beta')
.post(decline);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\Events\Item\Decline\DeclinePostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\TimeSlot;
use Microsoft\Graph\Beta\Generated\Models\DateTimeTimeZone;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DeclinePostRequestBody();
$requestBody->setComment('I won\'t be able to make this week. How about next week?');
$requestBody->setSendResponse(true);
$proposedNewTime = new TimeSlot();
$proposedNewTimeStart = new DateTimeTimeZone();
$proposedNewTimeStart->setDateTime('2019-12-02T18:00:00');
$proposedNewTimeStart->setTimeZone('Pacific Standard Time');
$proposedNewTime->setStart($proposedNewTimeStart);
$proposedNewTimeEnd = new DateTimeTimeZone();
$proposedNewTimeEnd->setDateTime('2019-12-02T19:00:00');
$proposedNewTimeEnd->setTimeZone('Pacific Standard Time');
$proposedNewTime->setEnd($proposedNewTimeEnd);
$requestBody->setProposedNewTime($proposedNewTime);
$graphServiceClient->me()->events()->byEventId('event-id')->decline()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Calendar
$params = @{
comment = "I won't be able to make this week. How about next week?"
sendResponse = $true
proposedNewTime = @{
start = @{
dateTime = "2019-12-02T18:00:00"
timeZone = "Pacific Standard Time"
}
end = @{
dateTime = "2019-12-02T19:00:00"
timeZone = "Pacific Standard Time"
}
}
}
# A UPN can also be used as -UserId.
Invoke-MgBetaDeclineUserEvent -UserId $userId -EventId $eventId -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.users.item.events.item.decline.decline_post_request_body import DeclinePostRequestBody
from msgraph_beta.generated.models.time_slot import TimeSlot
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 = DeclinePostRequestBody(
comment = "I won't be able to make this week. How about next week?",
send_response = True,
proposed_new_time = TimeSlot(
start = DateTimeTimeZone(
date_time = "2019-12-02T18:00:00",
time_zone = "Pacific Standard Time",
),
end = DateTimeTimeZone(
date_time = "2019-12-02T19:00:00",
time_zone = "Pacific Standard Time",
),
),
)
await graph_client.me.events.by_event_id('event-id').decline.post(request_body)
响应
以下示例显示了相应的响应。
HTTP/1.1 202 Accepted