更新规则
命名空间:microsoft.graph
为 messageRule 对象更改可写属性并保存更改。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
MailboxSettings.ReadWrite |
| 委派(个人 Microsoft 帐户) |
MailboxSettings.ReadWrite |
| 应用程序 |
MailboxSettings.ReadWrite |
HTTP 请求
PATCH /me/mailFolders/inbox/messageRules/{id}
PATCH /users/{id | userPrincipalName}/mailFolders/inbox/messageRules/{id}
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
请求正文
在请求正文中,提供应更新的相关字段的值。请求正文中不包括的现有属性将保留其以前的值,或根据对其他属性值的更改重新计算。为了获得最佳性能,不应包括尚未更改的现有值。
| 属性 |
类型 |
Description |
| actions |
messageRuleActions |
满足相应条件时对邮件执行的操作。 |
| conditions |
messageRulePredicates |
满足条件时,将触发该规则的相应操作。 |
| displayName |
String |
规则的显示名称。 |
| exceptions |
messageRulePredicates |
规则的例外情况。 |
| isEnabled |
Boolean |
指示是否启用规则以应用到邮件。 |
| isReadOnly |
Boolean |
表示规则是否为只读且无法由规则 REST API 修改或删除。 |
| Sequence |
Int32 |
表示在其他规则中执行规则的顺序。 |
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和更新的 messageRule 对象。
示例
请求
下面的示例更改规则名称,并更改针对获取规则示例中的规则所采取的操作,从转发到一个地址到将其重要性标记为“高”。
PATCH https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messageRules/AQAAAJ5dZqA=
Content-type: application/json
{
"displayName": "Important from partner",
"actions": {
"markImportance": "high"
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var messageRule = new MessageRule
{
DisplayName = "Important from partner",
Actions = new MessageRuleActions
{
MarkImportance = Importance.High
}
};
await graphClient.Me.MailFolders["{mailFolder-id}"].MessageRules["{messageRule-id}"]
.Request()
.UpdateAsync(messageRule);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const messageRule = {
displayName: 'Important from partner',
actions: {
markImportance: 'high'
}
};
await client.api('/me/mailFolders/inbox/messageRules/AQAAAJ5dZqA=')
.update(messageRule);
有关如何将 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/mailFolders/inbox/messageRules/AQAAAJ5dZqA="]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphMessageRule *messageRule = [[MSGraphMessageRule alloc] init];
[messageRule setDisplayName:@"Important from partner"];
MSGraphMessageRuleActions *actions = [[MSGraphMessageRuleActions alloc] init];
[actions setMarkImportance: [MSGraphImportance high]];
[messageRule setActions:actions];
NSError *error;
NSData *messageRuleData = [messageRule getSerializedDataWithError:&error];
[urlRequest setHTTPBody:messageRuleData];
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();
MessageRule messageRule = new MessageRule();
messageRule.displayName = "Important from partner";
MessageRuleActions actions = new MessageRuleActions();
actions.markImportance = Importance.HIGH;
messageRule.actions = actions;
graphClient.me().mailFolders("inbox").messageRules("AQAAAJ5dZqA=")
.buildRequest()
.patch(messageRule);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewMessageRule()
displayName := "Important from partner"
requestBody.SetDisplayName(&displayName)
actions := msgraphsdk.NewMessageRuleActions()
requestBody.SetActions(actions)
markImportance := "high"
actions.SetMarkImportance(&markImportance)
mailFolderId := "mailFolder-id"
messageRuleId := "messageRule-id"
graphClient.Me().MailFoldersById(&mailFolderId).MessageRulesById(&messageRuleId).Patch(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Mail
$params = @{
DisplayName = "Important from partner"
Actions = @{
MarkImportance = "high"
}
}
# A UPN can also be used as -UserId.
Update-MgUserMailFolderMessageRule -UserId $userId -MailFolderId $mailFolderId -MessageRuleId $messageRuleId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
这是一个示例响应。注意:为提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Me/mailFolders('inbox')/messageRules/$entity",
"id":"AQAAAJ5dZqA=",
"displayName":"Important from partner",
"sequence":2,
"isEnabled":true,
"hasError":false,
"isReadOnly":false,
"conditions":{
"senderContains":[
"ADELE"
]
},
"actions":{
"markImportance": "high"
}
}