命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
在指定用户的邮箱中创建新的 mailSearchFolder 。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
Mail.ReadWrite |
不可用。 |
委派(个人 Microsoft 帐户) |
Mail.ReadWrite |
不可用。 |
应用程序 |
Mail.ReadWrite |
不可用。 |
HTTP 请求
POST /me/mailFolders/{id}/childFolders
POST /users/{id | userPrincipalName}/mailFolders/{id}/childFolders
将查询 URL 中的父文件夹指定为文件夹 ID 或已知文件夹名称。 有关受支持的已知文件夹名称的列表,请参阅 mailFolder 资源类型。
标头 |
值 |
授权 |
Bearer {token} . 必需。 |
Content-Type |
application/json . 必需。 |
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
参数 |
类型 |
说明 |
@odata.type |
String |
要创建的文件夹的类型。 设置为“microsoft.graph.mailSearchFolder”。 |
displayName |
String |
新文件夹的显示名称。 |
includeNestedFolders |
布尔值 |
指示在搜索中应如何遍历邮箱文件夹层次结构。
true 意味着应进行深度搜索,以将子文件夹包含在 sourceFolderIds 中显式指定的每个文件夹的层次结构中。
false 表示仅对 sourceFolderIds 中显式指定的每个文件夹进行浅表搜索。 |
sourceFolderIds |
字符串集合 |
应挖掘的邮箱文件夹。 |
filterQuery |
String |
用于筛选消息的 OData 查询。 |
响应
如果成功,此方法在 201 Created
响应正文中返回响应代码和 mailSearchFolder 对象。
示例
请求
下面是请求的示例 - 它创建主题中包含字符串“weekly digest”的邮件的搜索文件夹。 搜索文件夹位于应用指定筛选器查询的同一文件夹下。
POST https://graph.microsoft.com/beta/me/mailFolders/AQMkADYAAAIBDAAAAA==/childFolders
Content-type: application/json
{
"@odata.type": "microsoft.graph.mailSearchFolder",
"displayName": "Weekly digests",
"includeNestedFolders": true,
"sourceFolderIds": ["AQMkADYAAAIBDAAAAA=="],
"filterQuery": "contains(subject, 'weekly digest')"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new MailSearchFolder
{
OdataType = "microsoft.graph.mailSearchFolder",
DisplayName = "Weekly digests",
IncludeNestedFolders = true,
SourceFolderIds = new List<string>
{
"AQMkADYAAAIBDAAAAA==",
},
FilterQuery = "contains(subject, 'weekly digest')",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.MailFolders["{mailFolder-id}"].ChildFolders.PostAsync(requestBody);
mgc-beta users mail-folders child-folders create --user-id {user-id} --mail-folder-id {mailFolder-id} --body '{\
"@odata.type": "microsoft.graph.mailSearchFolder",\
"displayName": "Weekly digests",\
"includeNestedFolders": true,\
"sourceFolderIds": ["AQMkADYAAAIBDAAAAA=="],\
"filterQuery": "contains(subject, 'weekly digest')"\
}\
'
// 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.NewMailFolder()
displayName := "Weekly digests"
requestBody.SetDisplayName(&displayName)
includeNestedFolders := true
requestBody.SetIncludeNestedFolders(&includeNestedFolders)
sourceFolderIds := []string {
"AQMkADYAAAIBDAAAAA==",
}
requestBody.SetSourceFolderIds(sourceFolderIds)
filterQuery := "contains(subject, 'weekly digest')"
requestBody.SetFilterQuery(&filterQuery)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
childFolders, err := graphClient.Me().MailFolders().ByMailFolderId("mailFolder-id").ChildFolders().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
MailSearchFolder mailFolder = new MailSearchFolder();
mailFolder.setOdataType("microsoft.graph.mailSearchFolder");
mailFolder.setDisplayName("Weekly digests");
mailFolder.setIncludeNestedFolders(true);
LinkedList<String> sourceFolderIds = new LinkedList<String>();
sourceFolderIds.add("AQMkADYAAAIBDAAAAA==");
mailFolder.setSourceFolderIds(sourceFolderIds);
mailFolder.setFilterQuery("contains(subject, 'weekly digest')");
MailFolder result = graphClient.me().mailFolders().byMailFolderId("{mailFolder-id}").childFolders().post(mailFolder);
const options = {
authProvider,
};
const client = Client.init(options);
const mailFolder = {
'@odata.type': 'microsoft.graph.mailSearchFolder',
displayName: 'Weekly digests',
includeNestedFolders: true,
sourceFolderIds: ['AQMkADYAAAIBDAAAAA=='],
filterQuery: 'contains(subject, \'weekly digest\')'
};
await client.api('/me/mailFolders/AQMkADYAAAIBDAAAAA==/childFolders')
.version('beta')
.post(mailFolder);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\MailSearchFolder;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new MailSearchFolder();
$requestBody->setOdataType('microsoft.graph.mailSearchFolder');
$requestBody->setDisplayName('Weekly digests');
$requestBody->setIncludeNestedFolders(true);
$requestBody->setSourceFolderIds(['AQMkADYAAAIBDAAAAA==', ]);
$requestBody->setFilterQuery('contains(subject, \'weekly digest\')');
$result = $graphServiceClient->me()->mailFolders()->byMailFolderId('mailFolder-id')->childFolders()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Mail
$params = @{
"@odata.type" = "microsoft.graph.mailSearchFolder"
displayName = "Weekly digests"
includeNestedFolders = $true
sourceFolderIds = @(
"AQMkADYAAAIBDAAAAA=="
)
filterQuery = "contains(subject, 'weekly digest')"
}
# A UPN can also be used as -UserId.
New-MgBetaUserMailFolderChildFolder -UserId $userId -MailFolderId $mailFolderId -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.mail_search_folder import MailSearchFolder
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = MailSearchFolder(
odata_type = "microsoft.graph.mailSearchFolder",
display_name = "Weekly digests",
include_nested_folders = True,
source_folder_ids = [
"AQMkADYAAAIBDAAAAA==",
],
filter_query = "contains(subject, 'weekly digest')",
)
result = await graph_client.me.mail_folders.by_mail_folder_id('mailFolder-id').child_folders.post(request_body)
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('68ca8ec0-11f8-456b-a785-70d9936650d5')/mailFolders('AQMkADYAAAIBDAAAAA%3D%3D')/childFolders/$entity",
"@odata.type": "#microsoft.graph.mailSearchFolder",
"id": "AAMkADYfRAAAZg1yTAAA=",
"displayName": "Weekly digests",
"parentFolderId": "AQMkADYAAAIBDAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": null,
"isSupported": true,
"includeNestedFolders": true,
"sourceFolderIds": [
"AQMkADYAAAIBDAAAAA=="
],
"filterQuery": "contains(subject, 'weekly digest')"
}