创建 mailSearchFolder
本文内容
命名空间:microsoft.graph
在指定用户的邮箱中创建新的 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/v1.0/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.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);
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc 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')"\
}\
'
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
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)
childFolders, err := graphClient.Me().MailFolders().ByMailFolderId("mailFolder-id").ChildFolders().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);
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);
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
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')
.post(mailFolder);
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\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();
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
Import-Module Microsoft.Graph.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-MgUserMailFolderChildFolder -UserId $userId -MailFolderId $mailFolderId -BodyParameter $params
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
from msgraph import GraphServiceClient
from msgraph.generated.models.mail_search_folder import MailSearchFolder
graph_client = GraphServiceClient(credentials, scopes)
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)
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
响应
以下示例显示了相应的响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$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,
"isSupported": true,
"includeNestedFolders": true,
"sourceFolderIds": [
"AQMkADYAAAIBDAAAAA=="
],
"filterQuery": "contains(subject, 'weekly digest')"
}