创建 legalHold userSource
命名空间:microsoft.graph.ediscovery
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
将 userSource 添加到 legalHold 对象。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
eDiscovery.Read.All、eDiscovery.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
不支持。 |
HTTP 请求
POST /compliance/ediscovery/cases/{caseId}/legalHolds/{legalholdId}/userSources
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供 userSource 对象的 JSON 表示形式。
下表显示创建 userSource时所需的属性。
| 属性 |
类型 |
Description |
| email |
String |
用户的 SMTP 地址或组邮箱的 SMTP 地址。 若要获取组的电子邮件地址,请使用"列表组"或"获取组"。 使用 get 组,可以使用 按组名称进行查询 $filter ;例如, https://graph.microsoft.com/v1.0/groups?$filter=displayName eq 'secret group'&$select=mail,id,displayName 。 |
| includedSources |
microsoft.graph.ediscovery.sourceType |
指定此组中包含的源。 此值必须为 mailbox , site 目前不支持 legalHolds。 |
响应
如果成功,此方法在响应正文中返回 响应代码和 201 Created microsoft.graph.ediscovery.userSource 对象。
示例
请求
POST https://graph.microsoft.com/beta/compliance/ediscovery/cases/c816dd6f-5af8-40c5-a760-331361e05c60/legalHolds/387566cc-38ae-4e85-ab4b-cd2dd34faa07/userSources
Content-Type: application/json
{
"email": "adelev@contoso.com",
"includedSources": "mailbox"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var userSource = new Microsoft.Graph.Ediscovery.UserSource
{
Email = "adelev@contoso.com",
IncludedSources = Microsoft.Graph.Ediscovery.SourceType.Mailbox
};
await graphClient.Compliance.Ediscovery.Cases["{ediscovery.case-id}"].LegalHolds["{ediscovery.legalHold-id}"].UserSources
.Request()
.AddAsync(userSource);
const options = {
authProvider,
};
const client = Client.init(options);
const userSource = {
email: 'adelev@contoso.com',
includedSources: 'mailbox'
};
await client.api('/compliance/ediscovery/cases/c816dd6f-5af8-40c5-a760-331361e05c60/legalHolds/387566cc-38ae-4e85-ab4b-cd2dd34faa07/userSources')
.version('beta')
.post(userSource);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/compliance/ediscovery/cases/c816dd6f-5af8-40c5-a760-331361e05c60/legalHolds/387566cc-38ae-4e85-ab4b-cd2dd34faa07/userSources"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphEdiscoveryUserSource *userSource = [[MSGraphEdiscoveryUserSource alloc] init];
[userSource setEmail:@"adelev@contoso.com"];
[userSource setIncludedSources: [MSGraphEdiscoverySourceType mailbox]];
NSError *error;
NSData *userSourceData = [userSource getSerializedDataWithError:&error];
[urlRequest setHTTPBody:userSourceData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
UserSource userSource = new UserSource();
userSource.email = "adelev@contoso.com";
userSource.includedSources = EnumSet.of(SourceType.MAILBOX);
graphClient.compliance().ediscovery().cases("c816dd6f-5af8-40c5-a760-331361e05c60").legalHolds("387566cc-38ae-4e85-ab4b-cd2dd34faa07").userSources()
.buildRequest()
.post(userSource);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewUserSource()
email := "adelev@contoso.com"
requestBody.SetEmail(&email)
includedSources := "mailbox"
requestBody.SetIncludedSources(&includedSources)
caseId := "case-id"
legalHoldId := "legalHold-id"
result, err := graphClient.Compliance().Ediscovery().CasesById(&caseId).LegalHoldsById(&legalHoldId).UserSources().Post(requestBody)
Import-Module Microsoft.Graph.Compliance
$params = @{
Email = "adelev@contoso.com"
IncludedSources = "mailbox"
}
New-MgComplianceEdiscoveryCaseLegalHoldUserSource -CaseId $caseId -LegalHoldId $legalHoldId -BodyParameter $params
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#compliance/ediscovery/cases/c816dd6f-5af8-40c5-a760-331361e05c60/legalholds/387566cc-38ae-4e85-ab4b-cd2dd34faa07/userSources",
"value": [
{
"displayName": "Adele Vance",
"createdDateTime": "2020-12-28T20:08:57.857Z",
"id": "2192ca40-8ea2-410e-ba3b-ec8ae873be6b",
"email": "AdeleV@contoso.com",
"includedSources": "mailbox",
"createdBy": {
"user": {
"id": null,
"displayName": "EDiscovery admin"
}
}
}
]
}