创建 subjectRightsRequest
本文内容
命名空间:microsoft.graph
创建新的 subjectRightsRequest 对象。
此 API 可用于以下国家级云部署 。
全局服务
美国政府 L4
美国政府 L5 (DOD)
由世纪互联运营的中国
✅
❌
❌
❌
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时 ,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型 。 要了解有关这些权限的详细信息,请参阅 权限参考 。
权限类型
最低特权权限
更高特权权限
委派(工作或学校帐户)
SubjectRightsRequest.ReadWrite.All
不可用。
委派(个人 Microsoft 帐户)
不支持。
不支持。
应用程序
不支持。
不支持。
HTTP 请求
警告
节点下 /privacy
的主题权限请求 API 已弃用,并且将于 2025 年 3 月 30 日停止返回数据。 请使用 下 /security
的新路径。
POST /security/subjectRightsRequests
POST /privacy/subjectRightsRequests
名称
说明
Authorization
持有者 {token}。 必填。 详细了解 身份验证和授权 。
Content-Type
application/json. 必需。
请求正文
在请求正文中,提供 subjectRightsRequest 对象的 JSON 表示形式。
下表列出了创建 subjectRightsRequest 时所需的属性。
属性
类型
说明
审批者
user 集合
可以批准请求的用户集合。 目前仅支持 类型的 delete
请求。
合作
user 集合
可以协作处理请求的用户的集合。
contentQuery
String
应用于搜索的基于 KQL 的内容查询。 此属性仅针对使用查询路径访问的 \security
API 定义,而不适用于 \privacy
查询路径。
dataSubject
dataSubject
包含请求的数据主体的属性。
dataSubjectType
dataSubjectType
数据主体类型。 可取值为:customer
、currentEmployee
、formerEmployee
、prospectiveEmployee
、student
、teacher
、faculty
、other
、unknownFutureValue
。
说明
String
请求的说明。
displayName
String
请求的名称。
externalId
String
创建后不可变且用于跟踪外部系统请求的请求的外部 ID。 此属性仅针对使用查询路径访问的 \security
API 定义,而不适用于 \privacy
查询路径。
includeAllVersions
布尔值
包括文档的所有版本。 默认情况下,返回文档的当前副本。 如果 SharePoint 网站启用了版本控制,则包括所有版本将自动包括文档的历史副本。 此属性仅针对使用查询路径访问的 \security
API 定义,而不适用于 \privacy
查询路径。
includeAuthoredContent
布尔值
包括数据主体创作的内容。 此属性仅针对使用查询路径访问的 \security
API 定义,而不适用于 \privacy
查询路径。
internalDueDateTime
DateTimeOffset
用于跟踪请求完成的内部截止日期。
mailboxLocations
subjectRightsRequestMailboxLocation
应搜索的邮箱位置。 此属性仅针对使用查询路径访问的 \security
API 定义,而不适用于 \privacy
查询路径。
pauseAfterEstimate
布尔值
估计完成后暂停请求。 默认情况下,数据估计运行,然后暂停,允许预览结果,然后选择选项以检索 UI 中的数据。 如果希望此属性执行估计,然后自动开始检索内容,则可以将此属性 false
设置为 。 此属性仅针对使用查询路径访问的 \security
API 定义,而不适用于 \privacy
查询路径。
法规
字符串集合
针对请求的一个或多个法规。
siteLocations
subjectRightsRequestSiteLocation
应搜索的 SharePoint 和 OneDrive 网站位置。 此属性仅针对使用查询路径访问的 \security
API 定义,而不适用于 \privacy
查询路径。
type
subjectRightsRequestType
请求的类型。 可取值为:export
、access
、delete
、tagForAction
、unknownFutureValue
。
响应
如果成功,此方法在响应正文中返回响应 201 Created
代码和 subjectRightsRequest 对象。
示例
请求
POST https://graph.microsoft.com/v1.0/privacy/subjectRightsRequests
Content-Type: application/json
{
"type": "export",
"contentQuery": "((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))",
"dataSubjectType": "customer",
"externalId": "F53BF2DA-607D-412A-B568-FAA0F023AC0B",
"displayName": "Export report for customer Id: 12345",
"description": "This is a export request",
"includeAllVersions": false,
"includeAuthoredContent": true,
"internalDueDateTime": "2022-07-20T22:42:28Z",
"dataSubject": {
"firstName": "Diego",
"lastName": "Siciliani",
"email": "Diego.Siciliani@contoso.com",
"residency": "USA"
},
"mailboxLocations": null,
"pauseAfterEstimate": true,
"regulations": [
"CCPA"
],
"siteLocations": {
"@odata.type": "microsoft.graph.subjectRightsRequestAllSiteLocation"
},
"approvers": [
{
"id": "1B761ED2-AA7E-4D82-9CF5-C09D737B6167"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new SubjectRightsRequest
{
Type = SubjectRightsRequestType.Export,
ContentQuery = "((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))",
DataSubjectType = DataSubjectType.Customer,
ExternalId = "F53BF2DA-607D-412A-B568-FAA0F023AC0B",
DisplayName = "Export report for customer Id: 12345",
Description = "This is a export request",
IncludeAllVersions = false,
IncludeAuthoredContent = true,
InternalDueDateTime = DateTimeOffset.Parse("2022-07-20T22:42:28Z"),
DataSubject = new DataSubject
{
FirstName = "Diego",
LastName = "Siciliani",
Email = "Diego.Siciliani@contoso.com",
Residency = "USA",
},
MailboxLocations = null,
PauseAfterEstimate = true,
Regulations = new List<string>
{
"CCPA",
},
SiteLocations = new SubjectRightsRequestAllSiteLocation
{
OdataType = "microsoft.graph.subjectRightsRequestAllSiteLocation",
},
Approvers = new List<User>
{
new User
{
Id = "1B761ED2-AA7E-4D82-9CF5-C09D737B6167",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Privacy.SubjectRightsRequests.PostAsync(requestBody);
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc privacy subject-rights-requests create --body '{\
"type": "export",\
"contentQuery": "((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))",\
"dataSubjectType": "customer",\
"externalId": "F53BF2DA-607D-412A-B568-FAA0F023AC0B",\
"displayName": "Export report for customer Id: 12345",\
"description": "This is a export request",\
"includeAllVersions": false,\
"includeAuthoredContent": true,\
"internalDueDateTime": "2022-07-20T22:42:28Z",\
"dataSubject": {\
"firstName": "Diego",\
"lastName": "Siciliani",\
"email": "Diego.Siciliani@contoso.com",\
"residency": "USA"\
},\
"mailboxLocations": null,\
"pauseAfterEstimate": true,\
"regulations": [\
"CCPA"\
],\
"siteLocations": {\
"@odata.type": "microsoft.graph.subjectRightsRequestAllSiteLocation"\
},\
"approvers": [\
{\
"id": "1B761ED2-AA7E-4D82-9CF5-C09D737B6167"\
}\
]\
}\
'
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewSubjectRightsRequest()
type := graphmodels.EXPORT_SUBJECTRIGHTSREQUESTTYPE
requestBody.SetType(&type)
contentQuery := "((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))"
requestBody.SetContentQuery(&contentQuery)
dataSubjectType := graphmodels.CUSTOMER_DATASUBJECTTYPE
requestBody.SetDataSubjectType(&dataSubjectType)
externalId := "F53BF2DA-607D-412A-B568-FAA0F023AC0B"
requestBody.SetExternalId(&externalId)
displayName := "Export report for customer Id: 12345"
requestBody.SetDisplayName(&displayName)
description := "This is a export request"
requestBody.SetDescription(&description)
includeAllVersions := false
requestBody.SetIncludeAllVersions(&includeAllVersions)
includeAuthoredContent := true
requestBody.SetIncludeAuthoredContent(&includeAuthoredContent)
internalDueDateTime , err := time.Parse(time.RFC3339, "2022-07-20T22:42:28Z")
requestBody.SetInternalDueDateTime(&internalDueDateTime)
dataSubject := graphmodels.NewDataSubject()
firstName := "Diego"
dataSubject.SetFirstName(&firstName)
lastName := "Siciliani"
dataSubject.SetLastName(&lastName)
email := "Diego.Siciliani@contoso.com"
dataSubject.SetEmail(&email)
residency := "USA"
dataSubject.SetResidency(&residency)
requestBody.SetDataSubject(dataSubject)
mailboxLocations := null
requestBody.SetMailboxLocations(&mailboxLocations)
pauseAfterEstimate := true
requestBody.SetPauseAfterEstimate(&pauseAfterEstimate)
regulations := []string {
"CCPA",
}
requestBody.SetRegulations(regulations)
siteLocations := graphmodels.NewSubjectRightsRequestAllSiteLocation()
requestBody.SetSiteLocations(siteLocations)
user := graphmodels.NewUser()
id := "1B761ED2-AA7E-4D82-9CF5-C09D737B6167"
user.SetId(&id)
approvers := []graphmodels.Userable {
user,
}
requestBody.SetApprovers(approvers)
subjectRightsRequests, err := graphClient.Privacy().SubjectRightsRequests().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);
SubjectRightsRequest subjectRightsRequest = new SubjectRightsRequest();
subjectRightsRequest.setType(SubjectRightsRequestType.Export);
subjectRightsRequest.setContentQuery("((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))");
subjectRightsRequest.setDataSubjectType(DataSubjectType.Customer);
subjectRightsRequest.setExternalId("F53BF2DA-607D-412A-B568-FAA0F023AC0B");
subjectRightsRequest.setDisplayName("Export report for customer Id: 12345");
subjectRightsRequest.setDescription("This is a export request");
subjectRightsRequest.setIncludeAllVersions(false);
subjectRightsRequest.setIncludeAuthoredContent(true);
OffsetDateTime internalDueDateTime = OffsetDateTime.parse("2022-07-20T22:42:28Z");
subjectRightsRequest.setInternalDueDateTime(internalDueDateTime);
DataSubject dataSubject = new DataSubject();
dataSubject.setFirstName("Diego");
dataSubject.setLastName("Siciliani");
dataSubject.setEmail("Diego.Siciliani@contoso.com");
dataSubject.setResidency("USA");
subjectRightsRequest.setDataSubject(dataSubject);
subjectRightsRequest.setMailboxLocations(null);
subjectRightsRequest.setPauseAfterEstimate(true);
LinkedList<String> regulations = new LinkedList<String>();
regulations.add("CCPA");
subjectRightsRequest.setRegulations(regulations);
SubjectRightsRequestAllSiteLocation siteLocations = new SubjectRightsRequestAllSiteLocation();
siteLocations.setOdataType("microsoft.graph.subjectRightsRequestAllSiteLocation");
subjectRightsRequest.setSiteLocations(siteLocations);
LinkedList<User> approvers = new LinkedList<User>();
User user = new User();
user.setId("1B761ED2-AA7E-4D82-9CF5-C09D737B6167");
approvers.add(user);
subjectRightsRequest.setApprovers(approvers);
SubjectRightsRequest result = graphClient.privacy().subjectRightsRequests().post(subjectRightsRequest);
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
const options = {
authProvider,
};
const client = Client.init(options);
const subjectRightsRequest = {
type: 'export',
contentQuery: '((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))',
dataSubjectType: 'customer',
externalId: 'F53BF2DA-607D-412A-B568-FAA0F023AC0B',
displayName: 'Export report for customer Id: 12345',
description: 'This is a export request',
includeAllVersions: false,
includeAuthoredContent: true,
internalDueDateTime: '2022-07-20T22:42:28Z',
dataSubject: {
firstName: 'Diego',
lastName: 'Siciliani',
email: 'Diego.Siciliani@contoso.com',
residency: 'USA'
},
mailboxLocations: null,
pauseAfterEstimate: true,
regulations: [
'CCPA'
],
siteLocations: {
'@odata.type': 'microsoft.graph.subjectRightsRequestAllSiteLocation'
},
approvers: [
{
id: '1B761ED2-AA7E-4D82-9CF5-C09D737B6167'
}
]
};
await client.api('/privacy/subjectRightsRequests')
.post(subjectRightsRequest);
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\SubjectRightsRequest;
use Microsoft\Graph\Generated\Models\DataSubject;
use Microsoft\Graph\Generated\Models\SubjectRightsRequestAllSiteLocation;
use Microsoft\Graph\Generated\Models\User;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new SubjectRightsRequest();
$requestBody->setType(new SubjectRightsRequestType('export'));
$requestBody->setContentQuery('((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))');
$requestBody->setDataSubjectType(new DataSubjectType('customer'));
$requestBody->setExternalId('F53BF2DA-607D-412A-B568-FAA0F023AC0B');
$requestBody->setDisplayName('Export report for customer Id: 12345');
$requestBody->setDescription('This is a export request');
$requestBody->setIncludeAllVersions(false);
$requestBody->setIncludeAuthoredContent(true);
$requestBody->setInternalDueDateTime(new \DateTime('2022-07-20T22:42:28Z'));
$dataSubject = new DataSubject();
$dataSubject->setFirstName('Diego');
$dataSubject->setLastName('Siciliani');
$dataSubject->setEmail('Diego.Siciliani@contoso.com');
$dataSubject->setResidency('USA');
$requestBody->setDataSubject($dataSubject);
$requestBody->setMailboxLocations(null);
$requestBody->setPauseAfterEstimate(true);
$requestBody->setRegulations(['CCPA', ]);
$siteLocations = new SubjectRightsRequestAllSiteLocation();
$siteLocations->setOdataType('microsoft.graph.subjectRightsRequestAllSiteLocation');
$requestBody->setSiteLocations($siteLocations);
$approversUser1 = new User();
$approversUser1->setId('1B761ED2-AA7E-4D82-9CF5-C09D737B6167');
$approversArray []= $approversUser1;
$requestBody->setApprovers($approversArray);
$result = $graphServiceClient->privacy()->subjectRightsRequests()->post($requestBody)->wait();
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
Import-Module Microsoft.Graph.Compliance
$params = @{
type = "export"
contentQuery = "(("Diego Siciliani" OR "Diego.Siciliani@contoso.com") OR (participants:"Diego.Siciliani@contoso.com"))"
dataSubjectType = "customer"
externalId = "F53BF2DA-607D-412A-B568-FAA0F023AC0B"
displayName = "Export report for customer Id: 12345"
description = "This is a export request"
includeAllVersions = $false
includeAuthoredContent = $true
internalDueDateTime = [System.DateTime]::Parse("2022-07-20T22:42:28Z")
dataSubject = @{
firstName = "Diego"
lastName = "Siciliani"
email = "Diego.Siciliani@contoso.com"
residency = "USA"
}
mailboxLocations = $null
pauseAfterEstimate = $true
regulations = @(
"CCPA"
)
siteLocations = @{
"@odata.type" = "microsoft.graph.subjectRightsRequestAllSiteLocation"
}
approvers = @(
@{
id = "1B761ED2-AA7E-4D82-9CF5-C09D737B6167"
}
)
}
New-MgPrivacySubjectRightsRequest -BodyParameter $params
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
from msgraph import GraphServiceClient
from msgraph.generated.models.subject_rights_request import SubjectRightsRequest
from msgraph.generated.models.data_subject import DataSubject
from msgraph.generated.models.subject_rights_request_all_site_location import SubjectRightsRequestAllSiteLocation
from msgraph.generated.models.user import User
graph_client = GraphServiceClient(credentials, scopes)
request_body = SubjectRightsRequest(
type = SubjectRightsRequestType.Export,
content_query = "((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))",
data_subject_type = DataSubjectType.Customer,
external_id = "F53BF2DA-607D-412A-B568-FAA0F023AC0B",
display_name = "Export report for customer Id: 12345",
description = "This is a export request",
include_all_versions = False,
include_authored_content = True,
internal_due_date_time = "2022-07-20T22:42:28Z",
data_subject = DataSubject(
first_name = "Diego",
last_name = "Siciliani",
email = "Diego.Siciliani@contoso.com",
residency = "USA",
),
mailbox_locations = None,
pause_after_estimate = True,
regulations = [
"CCPA",
],
site_locations = SubjectRightsRequestAllSiteLocation(
odata_type = "microsoft.graph.subjectRightsRequestAllSiteLocation",
),
approvers = [
User(
id = "1B761ED2-AA7E-4D82-9CF5-C09D737B6167",
),
],
)
result = await graph_client.privacy.subject_rights_requests.post(request_body)
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-Type: application/json
{
"type": "export",
"dataSubjectType": "customer",
"regulations": [
"CCPA"
],
"displayName": "Export report for customer Id: 12345",
"description": "This is a export request",
"status": "active",
"internalDueDateTime": "2022-07-20T22:42:28Z",
"lastModifiedDateTime": "2022-05-10T22:42:28Z",
"id": "CA084038-C5D2-493D-8DAB-23FC12393C76",
"createdDateTime": "2022-05-10T22:42:28Z",
"stages": [
{
"stage": "contentRetrieval",
"status": "notStarted",
"error": null
},
{
"stage": "contentReview",
"status": "notStarted",
"error": null
},
{
"stage": "generateReport",
"status": "notStarted",
"error": null
},
{
"stage": "caseResolved",
"status": "notStarted",
"error": null
}
],
"createdBy": {
"user": {
"id": "1B761ED2-AA7E-4D82-9CF5-C09D737B6167",
"displayName": "srradmin@contoso.com"
}
},
"approvers": [
{
"id": "1B761ED2-AA7E-4D82-9CF5-C09D737B6167"
}
],
"collaborators": [
{
"id": "1B761ED2-AA7E-4D82-9CF5-C09D737B6167"
}
],
"lastModifiedBy": {
"user": {
"id": "1B761ED2-AA7E-4D82-9CF5-C09D737B6167",
"displayName": "srradmin@contoso.com"
}
},
"dataSubject": {
"firstName": "Diego",
"lastName": "Siciliani",
"email": "Diego.Siciliani@contoso.com",
"residency": "USA"
},
"team": {
"id": "5484809c-fb5b-415a-afc6-da7ff601034e",
"webUrl": "https://teams.contoso.com/teams/teamid"
},
"includeAllVersions": false,
"pauseAfterEstimate": false,
"includeAuthoredContent": false,
"externalId": "F53BF2DA-607D-412A-B568-FAA0F023AC0B",
"contentQuery": "((\"Diego Siciliani\" OR \"Diego.Siciliani@contoso.com\") OR (participants:\"Diego.Siciliani@contoso.com\"))",
"mailboxLocations": null,
"siteLocations": {
"@odata.type": "microsoft.graph.subjectRightsRequestAllSiteLocation"
}
}