mailSearchFolder を作成する
-
[アーティクル]
-
-
名前空間: microsoft.graph
指定したユーザー のメールボックスに新しい mailSearchFolder を作成します。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。
| アクセス許可の種類 |
アクセス許可 (特権の小さいものから大きいものへ) |
| 委任 (職場または学校のアカウント) |
Mail.ReadWrite |
| 委任 (個人用 Microsoft アカウント) |
Mail.ReadWrite |
| アプリケーション |
Mail.ReadWrite |
HTTP 要求
POST /me/mailFolders/{id}/childFolders
POST /users/{id | userPrincipalName}/mailFolders/{id}/childFolders
クエリ URL の親フォルダーをフォルダー ID または既知のフォルダー名として指定します。 サポートされている既知のフォルダー名の一覧については、「mailFolder リソースの種類」を参照してください。
| ヘッダー |
値 |
| Authorization |
Bearer {token}. 必須です。 |
| Content-Type |
application/json. 必須です。 |
要求本文
要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。
| パラメーター |
型 |
説明 |
| @odata.type |
String |
作成するフォルダーの種類。 "microsoft.graph.mailSearchFolder" に設定します。 |
| displayName |
String |
新しいフォルダーの表示名です。 |
| includeNestedFolders |
Boolean |
メールボックス フォルダー階層を検索で走査する方法を示します。 true つまり、sourceFolderIds で明示的に指定された各フォルダーの階層に子フォルダーを含めるには、詳細な 検索を行う必要があります。 falsesourceFolderIds で明示的に指定された各フォルダーのみを浅く検索することを意味します。 |
| sourceFolderIds |
String collection |
マイニングする必要があるメールボックス フォルダー。 |
| filterQuery |
String |
メッセージをフィルター処理する OData クエリ。 |
応答
成功した場合、このメソッドは応答コードと、応答本文 201 Created の mailSearchFolder オブジェクトを返します。
例
要求
次に、要求の例を示します。件名に "週次ダイジェスト" という文字列を含むメッセージの検索フォルダーを作成します。 検索フォルダーは、指定したフィルター クエリが適用されるのと同じフォルダーの下にあります。
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')"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var mailFolder = new MailSearchFolder
{
DisplayName = "Weekly digests",
IncludeNestedFolders = true,
SourceFolderIds = new List<String>()
{
"AQMkADYAAAIBDAAAAA=="
},
FilterQuery = "contains(subject, 'weekly digest')"
};
await graphClient.Me.MailFolders["{mailFolder-id}"].ChildFolders
.Request()
.AddAsync(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 のドキュメントを参照してください。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/mailfolders/AQMkADYAAAIBDAAAAA==/childfolders"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphMailFolder *mailFolder = [[MSGraphMailFolder alloc] init];
[mailFolder setDisplayName:@"Weekly digests"];
[mailFolder setIncludeNestedFolders: true];
NSMutableArray *sourceFolderIdsList = [[NSMutableArray alloc] init];
[sourceFolderIdsList addObject: @"AQMkADYAAAIBDAAAAA=="];
[mailFolder setSourceFolderIds:sourceFolderIdsList];
[mailFolder setFilterQuery:@"contains(subject, 'weekly digest')"];
NSError *error;
NSData *mailFolderData = [mailFolder getSerializedDataWithError:&error];
[urlRequest setHTTPBody:mailFolderData];
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();
MailSearchFolder mailFolder = new MailSearchFolder();
mailFolder.displayName = "Weekly digests";
mailFolder.includeNestedFolders = true;
LinkedList<String> sourceFolderIdsList = new LinkedList<String>();
sourceFolderIdsList.add("AQMkADYAAAIBDAAAAA==");
mailFolder.sourceFolderIds = sourceFolderIdsList;
mailFolder.filterQuery = "contains(subject, 'weekly digest')";
graphClient.me().mailFolders("AQMkADYAAAIBDAAAAA==").childFolders()
.buildRequest()
.post(mailFolder);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewMailFolder()
displayName := "Weekly digests"
requestBody.SetDisplayName(&displayName)
requestBody.SetAdditionalData(map[string]interface{}{
"@odata.type": "microsoft.graph.mailSearchFolder",
"includeNestedFolders": true,
"sourceFolderIds": []String {
"AQMkADYAAAIBDAAAAA==",
}
"filterQuery": "contains(subject, 'weekly digest')",
}
mailFolderId := "mailFolder-id"
result, err := graphClient.Me().MailFoldersById(&mailFolderId).ChildFolders().Post(requestBody)
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 のドキュメントを参照してください。
応答
応答の例を次に示します。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
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')"
}