Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Обработка содержимого политик защиты данных в контексте текущего или указанного пользователя.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальное обслуживание |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай, обслуживаемый 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более высокий уровень привилегий или разрешений, только если это требуется вашему приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в статье Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения |
Разрешения с наименьшим объемом привилегий |
Разрешения с более высоким уровнем привилегий |
| Делегированные (рабочая или учебная учетная запись) |
Content.Process.User |
Content.Process.All |
| Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
| Приложение |
Content.Process.User |
Content.Process.All |
HTTP-запрос
POST /me/dataSecurityAndGovernance/processContent
Примечание.
Для вызова конечной точки /me требуется вход пользователя и, следовательно, делегированное разрешение. Разрешения приложений не поддерживаются при использовании /me конечной точки.
POST /users/{userId}/dataSecurityAndGovernance/processContent
| Имя |
Описание |
| Авторизация |
Bearer {token}. Обязательно. Дополнительные сведения об аутентификации и авторизации. |
| Content-Type |
application/json. Обязательно. |
| If-None-Match |
Необязательный параметр. Это значение используется API для определения того, изменилось ли состояние политики с момента последнего вызова API. Значение берется из заголовка Etag, возвращенного из вычисления protectionScopes. Если недавно вычисленное значение Etag не совпадает со значением, переданным в этом заголовке, возвращаемое свойство protectionScopeState будет "изменено" и приложение необходимо обновить, вызвав вычисление protectionScopes. |
| Идентификатор запроса клиента |
Строка (рекомендуется GUID). Необязательный параметр. Уникальный идентификатор для этого запроса, который используется для трассировки и отладки журналов и взаимодействия со службой поддержки. Если идентификатор не указан, он может быть сгенерирован автоматически. Рекомендуется указать идентификатор, чтобы упростить трассировку и отладку. В ответе будет возвращен тот же идентификатор, который был отправлен в запросе. |
Текст запроса
В тексте запроса укажите JSON-представление параметров.
В следующей таблице перечислены параметры, которые необходимы при вызове этого действия.
| Параметр |
Тип |
Описание |
| contentToProcess |
processContentRequest |
Обязательно. Объект, содержащий записи контента и метаданные (действие, устройство, приложение), который необходимо оценить для указанного пользователя. |
Отклик
В случае успеха это действие возвращает код ответа и processContentResponse в тексте 200 OK ответа или 202 Accepted, 204 No Content без текста ответа.
| Имя |
Описание |
| ETag |
Индикатор, который можно использовать для определения изменения настроенного состояния политики. Если состояние политики изменилось, значение ETag изменится, и возвращаемое свойство protectionScopeState будет "изменено", и приложению потребуется обновиться, вызвав вычисление protectionScopes. |
Примеры
Пример 1. Корпоративное приложение
Запрос
В следующем примере показан запрос из корпоративного приложения, которое может не использовать ИИ или приложение ИИ. Отправляемый data текст может быть любым текстом из приложения, например текстом документа, сообщением чата или подсказкой пользователя, если ваше приложение является приложением ИИ.
POST https://graph.microsoft.com/beta/me/dataSecurityAndGovernance/processContent
Content-Type: application/json
Client-Request-Id: 50dc805c-3af4-42d9-ad16-a746235cc736
{
"contentToProcess": {
"contentEntries": [
{
"@odata.type": "microsoft.graph.processConversationMetadata",
"identifier": "07785517-9081-4fe7-a9dc-85bcdf5e9075",
"content": {
"@odata.type": "microsoft.graph.textContent",
"data": "Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052"
},
"name":"PC Purview API Explorer message",
"correlationId": "d63eafd2-e3a9-4c1a-b726-a2e9b9d9580d",
"sequenceNumber": 0,
"isTruncated": false,
"createdDateTime": "2025-05-27T17:23:20",
"modifiedDateTime": "2025-05-27T17:23:20",
"contentCategory": "ai"
}
],
"activityMetadata": {
"activity": "uploadText"
},
"deviceMetadata": {
"deviceType": "Unmanaged",
"operatingSystemSpecifications": {
"operatingSystemPlatform": "Windows 11",
"operatingSystemVersion": "10.0.26100.0"
},
"ipAddress": "127.0.0.1"
},
"protectedAppMetadata": {
"name": "PC Purview API Explorer",
"version": "0.2",
"applicationLocation":{
"@odata.type": "microsoft.graph.policyLocationApplication",
"value": "83ef208a-0396-4893-9d4f-d36efbffc8bd"
}
},
"integratedAppMetadata": {
"name": "PC Purview API Explorer",
"version": "0.2"
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Me.DataSecurityAndGovernance.ProcessContent;
using Microsoft.Graph.Beta.Models;
var requestBody = new ProcessContentPostRequestBody
{
ContentToProcess = new ProcessContentRequest
{
ContentEntries = new List<ProcessContentMetadataBase>
{
new ProcessConversationMetadata
{
OdataType = "microsoft.graph.processConversationMetadata",
Identifier = "07785517-9081-4fe7-a9dc-85bcdf5e9075",
Content = new TextContent
{
OdataType = "microsoft.graph.textContent",
Data = "Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052",
},
Name = "PC Purview API Explorer message",
CorrelationId = "d63eafd2-e3a9-4c1a-b726-a2e9b9d9580d",
SequenceNumber = 0L,
IsTruncated = false,
CreatedDateTime = DateTimeOffset.Parse("2025-05-27T17:23:20"),
ModifiedDateTime = DateTimeOffset.Parse("2025-05-27T17:23:20"),
ContentCategory = ContentCategory.Ai,
},
},
ActivityMetadata = new ActivityMetadata
{
Activity = UserActivityType.UploadText,
},
DeviceMetadata = new DeviceMetadata
{
DeviceType = "Unmanaged",
OperatingSystemSpecifications = new OperatingSystemSpecifications
{
OperatingSystemPlatform = "Windows 11",
OperatingSystemVersion = "10.0.26100.0",
},
IpAddress = "127.0.0.1",
},
ProtectedAppMetadata = new ProtectedApplicationMetadata
{
Name = "PC Purview API Explorer",
Version = "0.2",
ApplicationLocation = new PolicyLocationApplication
{
OdataType = "microsoft.graph.policyLocationApplication",
Value = "83ef208a-0396-4893-9d4f-d36efbffc8bd",
},
},
IntegratedAppMetadata = new IntegratedApplicationMetadata
{
Name = "PC Purview API Explorer",
Version = "0.2",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.DataSecurityAndGovernance.ProcessContent.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Client-Request-Id", "50dc805c-3af4-42d9-ad16-a746235cc736");
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Client-Request-Id", "50dc805c-3af4-42d9-ad16-a746235cc736")
configuration := &graphusers.DataSecurityAndGovernanceProcessContentRequestBuilderPostRequestConfiguration{
Headers: headers,
}
requestBody := graphusers.NewItemProcessContentPostRequestBody()
contentToProcess := graphmodels.NewProcessContentRequest()
processContentMetadataBase := graphmodels.NewProcessConversationMetadata()
identifier := "07785517-9081-4fe7-a9dc-85bcdf5e9075"
processContentMetadataBase.SetIdentifier(&identifier)
content := graphmodels.NewTextContent()
data := "Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052"
content.SetData(&data)
processContentMetadataBase.SetContent(content)
name := "PC Purview API Explorer message"
processContentMetadataBase.SetName(&name)
correlationId := "d63eafd2-e3a9-4c1a-b726-a2e9b9d9580d"
processContentMetadataBase.SetCorrelationId(&correlationId)
sequenceNumber := int64(0)
processContentMetadataBase.SetSequenceNumber(&sequenceNumber)
isTruncated := false
processContentMetadataBase.SetIsTruncated(&isTruncated)
createdDateTime , err := time.Parse(time.RFC3339, "2025-05-27T17:23:20")
processContentMetadataBase.SetCreatedDateTime(&createdDateTime)
modifiedDateTime , err := time.Parse(time.RFC3339, "2025-05-27T17:23:20")
processContentMetadataBase.SetModifiedDateTime(&modifiedDateTime)
contentCategory := graphmodels.AI_CONTENTCATEGORY
processContentMetadataBase.SetContentCategory(&contentCategory)
contentEntries := []graphmodels.ProcessContentMetadataBaseable {
processContentMetadataBase,
}
contentToProcess.SetContentEntries(contentEntries)
activityMetadata := graphmodels.NewActivityMetadata()
activity := graphmodels.UPLOADTEXT_USERACTIVITYTYPE
activityMetadata.SetActivity(&activity)
contentToProcess.SetActivityMetadata(activityMetadata)
deviceMetadata := graphmodels.NewDeviceMetadata()
deviceType := "Unmanaged"
deviceMetadata.SetDeviceType(&deviceType)
operatingSystemSpecifications := graphmodels.NewOperatingSystemSpecifications()
operatingSystemPlatform := "Windows 11"
operatingSystemSpecifications.SetOperatingSystemPlatform(&operatingSystemPlatform)
operatingSystemVersion := "10.0.26100.0"
operatingSystemSpecifications.SetOperatingSystemVersion(&operatingSystemVersion)
deviceMetadata.SetOperatingSystemSpecifications(operatingSystemSpecifications)
ipAddress := "127.0.0.1"
deviceMetadata.SetIpAddress(&ipAddress)
contentToProcess.SetDeviceMetadata(deviceMetadata)
protectedAppMetadata := graphmodels.NewProtectedApplicationMetadata()
name := "PC Purview API Explorer"
protectedAppMetadata.SetName(&name)
version := "0.2"
protectedAppMetadata.SetVersion(&version)
applicationLocation := graphmodels.NewPolicyLocationApplication()
value := "83ef208a-0396-4893-9d4f-d36efbffc8bd"
applicationLocation.SetValue(&value)
protectedAppMetadata.SetApplicationLocation(applicationLocation)
contentToProcess.SetProtectedAppMetadata(protectedAppMetadata)
integratedAppMetadata := graphmodels.NewIntegratedApplicationMetadata()
name := "PC Purview API Explorer"
integratedAppMetadata.SetName(&name)
version := "0.2"
integratedAppMetadata.SetVersion(&version)
contentToProcess.SetIntegratedAppMetadata(integratedAppMetadata)
requestBody.SetContentToProcess(contentToProcess)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
processContent, err := graphClient.Me().DataSecurityAndGovernance().ProcessContent().Post(context.Background(), requestBody, configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.users.item.datasecurityandgovernance.processcontent.ProcessContentPostRequestBody processContentPostRequestBody = new com.microsoft.graph.beta.users.item.datasecurityandgovernance.processcontent.ProcessContentPostRequestBody();
ProcessContentRequest contentToProcess = new ProcessContentRequest();
LinkedList<ProcessContentMetadataBase> contentEntries = new LinkedList<ProcessContentMetadataBase>();
ProcessConversationMetadata processContentMetadataBase = new ProcessConversationMetadata();
processContentMetadataBase.setOdataType("microsoft.graph.processConversationMetadata");
processContentMetadataBase.setIdentifier("07785517-9081-4fe7-a9dc-85bcdf5e9075");
TextContent content = new TextContent();
content.setOdataType("microsoft.graph.textContent");
content.setData("Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052");
processContentMetadataBase.setContent(content);
processContentMetadataBase.setName("PC Purview API Explorer message");
processContentMetadataBase.setCorrelationId("d63eafd2-e3a9-4c1a-b726-a2e9b9d9580d");
processContentMetadataBase.setSequenceNumber(0L);
processContentMetadataBase.setIsTruncated(false);
OffsetDateTime createdDateTime = OffsetDateTime.parse("2025-05-27T17:23:20");
processContentMetadataBase.setCreatedDateTime(createdDateTime);
OffsetDateTime modifiedDateTime = OffsetDateTime.parse("2025-05-27T17:23:20");
processContentMetadataBase.setModifiedDateTime(modifiedDateTime);
processContentMetadataBase.setContentCategory(ContentCategory.Ai);
contentEntries.add(processContentMetadataBase);
contentToProcess.setContentEntries(contentEntries);
ActivityMetadata activityMetadata = new ActivityMetadata();
activityMetadata.setActivity(UserActivityType.UploadText);
contentToProcess.setActivityMetadata(activityMetadata);
DeviceMetadata deviceMetadata = new DeviceMetadata();
deviceMetadata.setDeviceType("Unmanaged");
OperatingSystemSpecifications operatingSystemSpecifications = new OperatingSystemSpecifications();
operatingSystemSpecifications.setOperatingSystemPlatform("Windows 11");
operatingSystemSpecifications.setOperatingSystemVersion("10.0.26100.0");
deviceMetadata.setOperatingSystemSpecifications(operatingSystemSpecifications);
deviceMetadata.setIpAddress("127.0.0.1");
contentToProcess.setDeviceMetadata(deviceMetadata);
ProtectedApplicationMetadata protectedAppMetadata = new ProtectedApplicationMetadata();
protectedAppMetadata.setName("PC Purview API Explorer");
protectedAppMetadata.setVersion("0.2");
PolicyLocationApplication applicationLocation = new PolicyLocationApplication();
applicationLocation.setOdataType("microsoft.graph.policyLocationApplication");
applicationLocation.setValue("83ef208a-0396-4893-9d4f-d36efbffc8bd");
protectedAppMetadata.setApplicationLocation(applicationLocation);
contentToProcess.setProtectedAppMetadata(protectedAppMetadata);
IntegratedApplicationMetadata integratedAppMetadata = new IntegratedApplicationMetadata();
integratedAppMetadata.setName("PC Purview API Explorer");
integratedAppMetadata.setVersion("0.2");
contentToProcess.setIntegratedAppMetadata(integratedAppMetadata);
processContentPostRequestBody.setContentToProcess(contentToProcess);
var result = graphClient.me().dataSecurityAndGovernance().processContent().post(processContentPostRequestBody, requestConfiguration -> {
requestConfiguration.headers.add("Client-Request-Id", "50dc805c-3af4-42d9-ad16-a746235cc736");
});
const options = {
authProvider,
};
const client = Client.init(options);
const processContentResponse = {
contentToProcess: {
contentEntries: [
{
'@odata.type': 'microsoft.graph.processConversationMetadata',
identifier: '07785517-9081-4fe7-a9dc-85bcdf5e9075',
content: {
'@odata.type': 'microsoft.graph.textContent',
data: 'Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052'
},
name: 'PC Purview API Explorer message',
correlationId: 'd63eafd2-e3a9-4c1a-b726-a2e9b9d9580d',
sequenceNumber: 0,
isTruncated: false,
createdDateTime: '2025-05-27T17:23:20',
modifiedDateTime: '2025-05-27T17:23:20',
contentCategory: 'ai'
}
],
activityMetadata: {
activity: 'uploadText'
},
deviceMetadata: {
deviceType: 'Unmanaged',
operatingSystemSpecifications: {
operatingSystemPlatform: 'Windows 11',
operatingSystemVersion: '10.0.26100.0'
},
ipAddress: '127.0.0.1'
},
protectedAppMetadata: {
name: 'PC Purview API Explorer',
version: '0.2',
applicationLocation: {
'@odata.type': 'microsoft.graph.policyLocationApplication',
value: '83ef208a-0396-4893-9d4f-d36efbffc8bd'
}
},
integratedAppMetadata: {
name: 'PC Purview API Explorer',
version: '0.2'
}
}
};
await client.api('/me/dataSecurityAndGovernance/processContent')
.version('beta')
.post(processContentResponse);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\DataSecurityAndGovernance\ProcessContent\ProcessContentRequestBuilderPostRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Users\Item\DataSecurityAndGovernance\ProcessContent\ProcessContentPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ProcessContentRequest;
use Microsoft\Graph\Beta\Generated\Models\ProcessContentMetadataBase;
use Microsoft\Graph\Beta\Generated\Models\ProcessConversationMetadata;
use Microsoft\Graph\Beta\Generated\Models\TextContent;
use Microsoft\Graph\Beta\Generated\Models\ContentCategory;
use Microsoft\Graph\Beta\Generated\Models\ActivityMetadata;
use Microsoft\Graph\Beta\Generated\Models\UserActivityType;
use Microsoft\Graph\Beta\Generated\Models\DeviceMetadata;
use Microsoft\Graph\Beta\Generated\Models\OperatingSystemSpecifications;
use Microsoft\Graph\Beta\Generated\Models\ProtectedApplicationMetadata;
use Microsoft\Graph\Beta\Generated\Models\PolicyLocationApplication;
use Microsoft\Graph\Beta\Generated\Models\IntegratedApplicationMetadata;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ProcessContentPostRequestBody();
$contentToProcess = new ProcessContentRequest();
$contentEntriesProcessContentMetadataBase1 = new ProcessConversationMetadata();
$contentEntriesProcessContentMetadataBase1->setOdataType('microsoft.graph.processConversationMetadata');
$contentEntriesProcessContentMetadataBase1->setIdentifier('07785517-9081-4fe7-a9dc-85bcdf5e9075');
$contentEntriesProcessContentMetadataBase1Content = new TextContent();
$contentEntriesProcessContentMetadataBase1Content->setOdataType('microsoft.graph.textContent');
$contentEntriesProcessContentMetadataBase1Content->setData('Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052');
$contentEntriesProcessContentMetadataBase1->setContent($contentEntriesProcessContentMetadataBase1Content);
$contentEntriesProcessContentMetadataBase1->setName('PC Purview API Explorer message');
$contentEntriesProcessContentMetadataBase1->setCorrelationId('d63eafd2-e3a9-4c1a-b726-a2e9b9d9580d');
$contentEntriesProcessContentMetadataBase1->setSequenceNumber(0);
$contentEntriesProcessContentMetadataBase1->setIsTruncated(false);
$contentEntriesProcessContentMetadataBase1->setCreatedDateTime(new \DateTime('2025-05-27T17:23:20'));
$contentEntriesProcessContentMetadataBase1->setModifiedDateTime(new \DateTime('2025-05-27T17:23:20'));
$contentEntriesProcessContentMetadataBase1->setContentCategory(new ContentCategory('ai'));
$contentEntriesArray []= $contentEntriesProcessContentMetadataBase1;
$contentToProcess->setContentEntries($contentEntriesArray);
$contentToProcessActivityMetadata = new ActivityMetadata();
$contentToProcessActivityMetadata->setActivity(new UserActivityType('uploadText'));
$contentToProcess->setActivityMetadata($contentToProcessActivityMetadata);
$contentToProcessDeviceMetadata = new DeviceMetadata();
$contentToProcessDeviceMetadata->setDeviceType('Unmanaged');
$contentToProcessDeviceMetadataOperatingSystemSpecifications = new OperatingSystemSpecifications();
$contentToProcessDeviceMetadataOperatingSystemSpecifications->setOperatingSystemPlatform('Windows 11');
$contentToProcessDeviceMetadataOperatingSystemSpecifications->setOperatingSystemVersion('10.0.26100.0');
$contentToProcessDeviceMetadata->setOperatingSystemSpecifications($contentToProcessDeviceMetadataOperatingSystemSpecifications);
$contentToProcessDeviceMetadata->setIpAddress('127.0.0.1');
$contentToProcess->setDeviceMetadata($contentToProcessDeviceMetadata);
$contentToProcessProtectedAppMetadata = new ProtectedApplicationMetadata();
$contentToProcessProtectedAppMetadata->setName('PC Purview API Explorer');
$contentToProcessProtectedAppMetadata->setVersion('0.2');
$contentToProcessProtectedAppMetadataApplicationLocation = new PolicyLocationApplication();
$contentToProcessProtectedAppMetadataApplicationLocation->setOdataType('microsoft.graph.policyLocationApplication');
$contentToProcessProtectedAppMetadataApplicationLocation->setValue('83ef208a-0396-4893-9d4f-d36efbffc8bd');
$contentToProcessProtectedAppMetadata->setApplicationLocation($contentToProcessProtectedAppMetadataApplicationLocation);
$contentToProcess->setProtectedAppMetadata($contentToProcessProtectedAppMetadata);
$contentToProcessIntegratedAppMetadata = new IntegratedApplicationMetadata();
$contentToProcessIntegratedAppMetadata->setName('PC Purview API Explorer');
$contentToProcessIntegratedAppMetadata->setVersion('0.2');
$contentToProcess->setIntegratedAppMetadata($contentToProcessIntegratedAppMetadata);
$requestBody->setContentToProcess($contentToProcess);
$requestConfiguration = new ProcessContentRequestBuilderPostRequestConfiguration();
$headers = [
'Client-Request-Id' => '50dc805c-3af4-42d9-ad16-a746235cc736',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->me()->dataSecurityAndGovernance()->processContent()->post($requestBody, $requestConfiguration)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.data_security_and_governance.process_content.process_content_request_builder import ProcessContentRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.users.item.datasecurityandgovernance.process_content.process_content_post_request_body import ProcessContentPostRequestBody
from msgraph_beta.generated.models.process_content_request import ProcessContentRequest
from msgraph_beta.generated.models.process_content_metadata_base import ProcessContentMetadataBase
from msgraph_beta.generated.models.process_conversation_metadata import ProcessConversationMetadata
from msgraph_beta.generated.models.text_content import TextContent
from msgraph_beta.generated.models.content_category import ContentCategory
from msgraph_beta.generated.models.activity_metadata import ActivityMetadata
from msgraph_beta.generated.models.user_activity_type import UserActivityType
from msgraph_beta.generated.models.device_metadata import DeviceMetadata
from msgraph_beta.generated.models.operating_system_specifications import OperatingSystemSpecifications
from msgraph_beta.generated.models.protected_application_metadata import ProtectedApplicationMetadata
from msgraph_beta.generated.models.policy_location_application import PolicyLocationApplication
from msgraph_beta.generated.models.integrated_application_metadata import IntegratedApplicationMetadata
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ProcessContentPostRequestBody(
content_to_process = ProcessContentRequest(
content_entries = [
ProcessConversationMetadata(
odata_type = "microsoft.graph.processConversationMetadata",
identifier = "07785517-9081-4fe7-a9dc-85bcdf5e9075",
content = TextContent(
odata_type = "microsoft.graph.textContent",
data = "Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052",
),
name = "PC Purview API Explorer message",
correlation_id = "d63eafd2-e3a9-4c1a-b726-a2e9b9d9580d",
sequence_number = 0,
is_truncated = False,
created_date_time = "2025-05-27T17:23:20",
modified_date_time = "2025-05-27T17:23:20",
content_category = ContentCategory.Ai,
),
],
activity_metadata = ActivityMetadata(
activity = UserActivityType.UploadText,
),
device_metadata = DeviceMetadata(
device_type = "Unmanaged",
operating_system_specifications = OperatingSystemSpecifications(
operating_system_platform = "Windows 11",
operating_system_version = "10.0.26100.0",
),
ip_address = "127.0.0.1",
),
protected_app_metadata = ProtectedApplicationMetadata(
name = "PC Purview API Explorer",
version = "0.2",
application_location = PolicyLocationApplication(
odata_type = "microsoft.graph.policyLocationApplication",
value = "83ef208a-0396-4893-9d4f-d36efbffc8bd",
),
),
integrated_app_metadata = IntegratedApplicationMetadata(
name = "PC Purview API Explorer",
version = "0.2",
),
),
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Client-Request-Id", "50dc805c-3af4-42d9-ad16-a746235cc736")
result = await graph_client.me.data_security_and_governance.process_content.post(request_body, request_configuration = request_configuration)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
Client-Request-Id: 50dc805c-3af4-42d9-ad16-a746235cc736
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.processContentResponse",
"protectionScopeState": "notModified",
"policyActions": [],
"processingErrors": []
}
Пример 2. Агент ИИ
Запрос
В следующем примере показан запрос, отправленный агентом ИИ. Обратите внимание, что в запросе agents есть массив типа aiAgentInfo. В данном примере data используется для отправки запроса пользователя.
POST https://graph.microsoft.com/beta/users/{5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba}/dataSecurityAndGovernance/processContent
Content-Type: application/json
{
"contentToProcess": {
"contentEntries": [
{
"@odata.type": "microsoft.graph.processConversationMetadata",
"identifier": "42837765-85c9-4a28-a165-27b6aaa5f635",
"content": {
"@odata.type": "microsoft.graph.textContent",
"data": "For application 123456789, Write an acceptance letter for Alex Wilber with Credit card number 0000111122223333, ssn: 000-11-2222 at One Microsoft Way, Redmond, WA 98052"
},
"agents": [
{
"@odata.type": "microsoft.graph.aiAgentInfo",
"blueprintId": "c84571c6-5ef3-4af7-aed2-0491cfd362a0",
"identifier": "89515a70-a236-43be-b977-3ff0b454f853",
"name": "Demo Agent",
"version": "1.0"
}
],
"name":"PC Purview API Explorer message",
"correlationId": "1cd5e33a-c78f-46e4-a242-74b0ef910486",
"sequenceNumber": 0,
"isTruncated": false,
"createdDateTime": "2026-04-08T20:52:08",
"modifiedDateTime": "2026-04-08T20:52:08"
}
],
"activityMetadata": {
"activity": "uploadText"
},
"deviceMetadata": {
"operatingSystemSpecifications": {
"operatingSystemPlatform": "Windows 11",
"operatingSystemVersion": "10.0.26200.0"
},
"ipAddress": "127.0.0.1"
},
"protectedAppMetadata": {
"name": "PC Purview API Explorer",
"version": "0.2",
"applicationLocation":{
"@odata.type": "microsoft.graph.policyLocationApplication",
"value": "83ef198a-0396-4893-9d4f-d36efbffc8bd"
}
},
"integratedAppMetadata": {
"name": "PC Purview API Explorer",
"version": "0.1"
}
}
}
const options = {
authProvider,
};
const client = Client.init(options);
const processContentResponse = {
contentToProcess: {
contentEntries: [
{
'@odata.type': 'microsoft.graph.processConversationMetadata',
identifier: '42837765-85c9-4a28-a165-27b6aaa5f635',
content: {
'@odata.type': 'microsoft.graph.textContent',
data: 'For application 123456789, Write an acceptance letter for Alex Wilber with Credit card number 0000111122223333, ssn: 000-11-2222 at One Microsoft Way, Redmond, WA 98052'
},
agents: [
{
'@odata.type': 'microsoft.graph.aiAgentInfo',
blueprintId: 'c84571c6-5ef3-4af7-aed2-0491cfd362a0',
identifier: '89515a70-a236-43be-b977-3ff0b454f853',
name: 'Demo Agent',
version: '1.0'
}
],
name: 'PC Purview API Explorer message',
correlationId: '1cd5e33a-c78f-46e4-a242-74b0ef910486',
sequenceNumber: 0,
isTruncated: false,
createdDateTime: '2026-04-08T20:52:08',
modifiedDateTime: '2026-04-08T20:52:08'
}
],
activityMetadata: {
activity: 'uploadText'
},
deviceMetadata: {
operatingSystemSpecifications: {
operatingSystemPlatform: 'Windows 11',
operatingSystemVersion: '10.0.26200.0'
},
ipAddress: '127.0.0.1'
},
protectedAppMetadata: {
name: 'PC Purview API Explorer',
version: '0.2',
applicationLocation: {
'@odata.type': 'microsoft.graph.policyLocationApplication',
value: '83ef198a-0396-4893-9d4f-d36efbffc8bd'
}
},
integratedAppMetadata: {
name: 'PC Purview API Explorer',
version: '0.1'
}
}
};
await client.api('/users/{5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba}/dataSecurityAndGovernance/processContent')
.version('beta')
.post(processContentResponse);
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.processContentResponse",
"protectionScopeState": "modified",
"policyActions": [
{
"@odata.type": "#microsoft.graph.restrictAccessAction",
"action": "restrictAccess",
"restrictionAction": "block"
}
],
"processingErrors": []
}
Пример 3. Приложение поставщика услуг сети
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/users/{5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba}/dataSecurityAndGovernance/processContent
Content-Type: application/json
{
"contentToProcess": {
"contentEntries": [
{
"@odata.type": "#microsoft.graph.processConversationMetadata",
"identifier": "f7af180f-dc2e-467c-9719-757e1c61eabf",
"content": {
"@odata.type": "#microsoft.graph.textContent",
"data": "some data"
},
"correlationId": "d63eafd2-e3a9-4c1a-b726-a2e9b9d95811",
"sequenceNumber": 0,
"name": "Test Content"
}
],
"activityMetadata": {
"activity": "uploadText"
},
"deviceMetadata": {
"deviceType": "unmanaged",
"ipAddress": null,
"operatingSystemSpecifications": {
"operatingSystemPlatform": "Windows",
"operatingSystemVersion": "11.1"
}
},
"integratedAppMetadata": {
"name": "My Entra App",
"version": "0.1"
},
"protectedAppMetadata": {
"name": "My Entra App",
"version": "0.1",
"applicationLocation": {
"@odata.type": "#microsoft.graph.policyLocationUrl",
"value": "https://gemini.google.com"
}
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Users.Item.DataSecurityAndGovernance.ProcessContent;
using Microsoft.Graph.Beta.Models;
var requestBody = new ProcessContentPostRequestBody
{
ContentToProcess = new ProcessContentRequest
{
ContentEntries = new List<ProcessContentMetadataBase>
{
new ProcessConversationMetadata
{
OdataType = "#microsoft.graph.processConversationMetadata",
Identifier = "f7af180f-dc2e-467c-9719-757e1c61eabf",
Content = new TextContent
{
OdataType = "#microsoft.graph.textContent",
Data = "some data",
},
CorrelationId = "d63eafd2-e3a9-4c1a-b726-a2e9b9d95811",
SequenceNumber = 0L,
Name = "Test Content",
},
},
ActivityMetadata = new ActivityMetadata
{
Activity = UserActivityType.UploadText,
},
DeviceMetadata = new DeviceMetadata
{
DeviceType = "unmanaged",
IpAddress = null,
OperatingSystemSpecifications = new OperatingSystemSpecifications
{
OperatingSystemPlatform = "Windows",
OperatingSystemVersion = "11.1",
},
},
IntegratedAppMetadata = new IntegratedApplicationMetadata
{
Name = "My Entra App",
Version = "0.1",
},
ProtectedAppMetadata = new ProtectedApplicationMetadata
{
Name = "My Entra App",
Version = "0.1",
ApplicationLocation = new PolicyLocationUrl
{
OdataType = "#microsoft.graph.policyLocationUrl",
Value = "https://gemini.google.com",
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].DataSecurityAndGovernance.ProcessContent.PostAsync(requestBody);
// 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"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewProcessContentPostRequestBody()
contentToProcess := graphmodels.NewProcessContentRequest()
processContentMetadataBase := graphmodels.NewProcessConversationMetadata()
identifier := "f7af180f-dc2e-467c-9719-757e1c61eabf"
processContentMetadataBase.SetIdentifier(&identifier)
content := graphmodels.NewTextContent()
data := "some data"
content.SetData(&data)
processContentMetadataBase.SetContent(content)
correlationId := "d63eafd2-e3a9-4c1a-b726-a2e9b9d95811"
processContentMetadataBase.SetCorrelationId(&correlationId)
sequenceNumber := int64(0)
processContentMetadataBase.SetSequenceNumber(&sequenceNumber)
name := "Test Content"
processContentMetadataBase.SetName(&name)
contentEntries := []graphmodels.ProcessContentMetadataBaseable {
processContentMetadataBase,
}
contentToProcess.SetContentEntries(contentEntries)
activityMetadata := graphmodels.NewActivityMetadata()
activity := graphmodels.UPLOADTEXT_USERACTIVITYTYPE
activityMetadata.SetActivity(&activity)
contentToProcess.SetActivityMetadata(activityMetadata)
deviceMetadata := graphmodels.NewDeviceMetadata()
deviceType := "unmanaged"
deviceMetadata.SetDeviceType(&deviceType)
ipAddress := null
deviceMetadata.SetIpAddress(&ipAddress)
operatingSystemSpecifications := graphmodels.NewOperatingSystemSpecifications()
operatingSystemPlatform := "Windows"
operatingSystemSpecifications.SetOperatingSystemPlatform(&operatingSystemPlatform)
operatingSystemVersion := "11.1"
operatingSystemSpecifications.SetOperatingSystemVersion(&operatingSystemVersion)
deviceMetadata.SetOperatingSystemSpecifications(operatingSystemSpecifications)
contentToProcess.SetDeviceMetadata(deviceMetadata)
integratedAppMetadata := graphmodels.NewIntegratedApplicationMetadata()
name := "My Entra App"
integratedAppMetadata.SetName(&name)
version := "0.1"
integratedAppMetadata.SetVersion(&version)
contentToProcess.SetIntegratedAppMetadata(integratedAppMetadata)
protectedAppMetadata := graphmodels.NewProtectedApplicationMetadata()
name := "My Entra App"
protectedAppMetadata.SetName(&name)
version := "0.1"
protectedAppMetadata.SetVersion(&version)
applicationLocation := graphmodels.NewPolicyLocationUrl()
value := "https://gemini.google.com"
applicationLocation.SetValue(&value)
protectedAppMetadata.SetApplicationLocation(applicationLocation)
contentToProcess.SetProtectedAppMetadata(protectedAppMetadata)
requestBody.SetContentToProcess(contentToProcess)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
processContent, err := graphClient.Users().ByUserId("user-id").DataSecurityAndGovernance().ProcessContent().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.users.item.datasecurityandgovernance.processcontent.ProcessContentPostRequestBody processContentPostRequestBody = new com.microsoft.graph.beta.users.item.datasecurityandgovernance.processcontent.ProcessContentPostRequestBody();
ProcessContentRequest contentToProcess = new ProcessContentRequest();
LinkedList<ProcessContentMetadataBase> contentEntries = new LinkedList<ProcessContentMetadataBase>();
ProcessConversationMetadata processContentMetadataBase = new ProcessConversationMetadata();
processContentMetadataBase.setOdataType("#microsoft.graph.processConversationMetadata");
processContentMetadataBase.setIdentifier("f7af180f-dc2e-467c-9719-757e1c61eabf");
TextContent content = new TextContent();
content.setOdataType("#microsoft.graph.textContent");
content.setData("some data");
processContentMetadataBase.setContent(content);
processContentMetadataBase.setCorrelationId("d63eafd2-e3a9-4c1a-b726-a2e9b9d95811");
processContentMetadataBase.setSequenceNumber(0L);
processContentMetadataBase.setName("Test Content");
contentEntries.add(processContentMetadataBase);
contentToProcess.setContentEntries(contentEntries);
ActivityMetadata activityMetadata = new ActivityMetadata();
activityMetadata.setActivity(UserActivityType.UploadText);
contentToProcess.setActivityMetadata(activityMetadata);
DeviceMetadata deviceMetadata = new DeviceMetadata();
deviceMetadata.setDeviceType("unmanaged");
deviceMetadata.setIpAddress(null);
OperatingSystemSpecifications operatingSystemSpecifications = new OperatingSystemSpecifications();
operatingSystemSpecifications.setOperatingSystemPlatform("Windows");
operatingSystemSpecifications.setOperatingSystemVersion("11.1");
deviceMetadata.setOperatingSystemSpecifications(operatingSystemSpecifications);
contentToProcess.setDeviceMetadata(deviceMetadata);
IntegratedApplicationMetadata integratedAppMetadata = new IntegratedApplicationMetadata();
integratedAppMetadata.setName("My Entra App");
integratedAppMetadata.setVersion("0.1");
contentToProcess.setIntegratedAppMetadata(integratedAppMetadata);
ProtectedApplicationMetadata protectedAppMetadata = new ProtectedApplicationMetadata();
protectedAppMetadata.setName("My Entra App");
protectedAppMetadata.setVersion("0.1");
PolicyLocationUrl applicationLocation = new PolicyLocationUrl();
applicationLocation.setOdataType("#microsoft.graph.policyLocationUrl");
applicationLocation.setValue("https://gemini.google.com");
protectedAppMetadata.setApplicationLocation(applicationLocation);
contentToProcess.setProtectedAppMetadata(protectedAppMetadata);
processContentPostRequestBody.setContentToProcess(contentToProcess);
var result = graphClient.users().byUserId("{user-id}").dataSecurityAndGovernance().processContent().post(processContentPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const processContentResponse = {
contentToProcess: {
contentEntries: [
{
'@odata.type': '#microsoft.graph.processConversationMetadata',
identifier: 'f7af180f-dc2e-467c-9719-757e1c61eabf',
content: {
'@odata.type': '#microsoft.graph.textContent',
data: 'some data'
},
correlationId: 'd63eafd2-e3a9-4c1a-b726-a2e9b9d95811',
sequenceNumber: 0,
name: 'Test Content'
}
],
activityMetadata: {
activity: 'uploadText'
},
deviceMetadata: {
deviceType: 'unmanaged',
ipAddress: null,
operatingSystemSpecifications: {
operatingSystemPlatform: 'Windows',
operatingSystemVersion: '11.1'
}
},
integratedAppMetadata: {
name: 'My Entra App',
version: '0.1'
},
protectedAppMetadata: {
name: 'My Entra App',
version: '0.1',
applicationLocation: {
'@odata.type': '#microsoft.graph.policyLocationUrl',
value: 'https://gemini.google.com'
}
}
}
};
await client.api('/users/{5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba}/dataSecurityAndGovernance/processContent')
.version('beta')
.post(processContentResponse);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\DataSecurityAndGovernance\ProcessContent\ProcessContentPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ProcessContentRequest;
use Microsoft\Graph\Beta\Generated\Models\ProcessContentMetadataBase;
use Microsoft\Graph\Beta\Generated\Models\ProcessConversationMetadata;
use Microsoft\Graph\Beta\Generated\Models\TextContent;
use Microsoft\Graph\Beta\Generated\Models\ActivityMetadata;
use Microsoft\Graph\Beta\Generated\Models\UserActivityType;
use Microsoft\Graph\Beta\Generated\Models\DeviceMetadata;
use Microsoft\Graph\Beta\Generated\Models\OperatingSystemSpecifications;
use Microsoft\Graph\Beta\Generated\Models\IntegratedApplicationMetadata;
use Microsoft\Graph\Beta\Generated\Models\ProtectedApplicationMetadata;
use Microsoft\Graph\Beta\Generated\Models\PolicyLocationUrl;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ProcessContentPostRequestBody();
$contentToProcess = new ProcessContentRequest();
$contentEntriesProcessContentMetadataBase1 = new ProcessConversationMetadata();
$contentEntriesProcessContentMetadataBase1->setOdataType('#microsoft.graph.processConversationMetadata');
$contentEntriesProcessContentMetadataBase1->setIdentifier('f7af180f-dc2e-467c-9719-757e1c61eabf');
$contentEntriesProcessContentMetadataBase1Content = new TextContent();
$contentEntriesProcessContentMetadataBase1Content->setOdataType('#microsoft.graph.textContent');
$contentEntriesProcessContentMetadataBase1Content->setData('some data');
$contentEntriesProcessContentMetadataBase1->setContent($contentEntriesProcessContentMetadataBase1Content);
$contentEntriesProcessContentMetadataBase1->setCorrelationId('d63eafd2-e3a9-4c1a-b726-a2e9b9d95811');
$contentEntriesProcessContentMetadataBase1->setSequenceNumber(0);
$contentEntriesProcessContentMetadataBase1->setName('Test Content');
$contentEntriesArray []= $contentEntriesProcessContentMetadataBase1;
$contentToProcess->setContentEntries($contentEntriesArray);
$contentToProcessActivityMetadata = new ActivityMetadata();
$contentToProcessActivityMetadata->setActivity(new UserActivityType('uploadText'));
$contentToProcess->setActivityMetadata($contentToProcessActivityMetadata);
$contentToProcessDeviceMetadata = new DeviceMetadata();
$contentToProcessDeviceMetadata->setDeviceType('unmanaged');
$contentToProcessDeviceMetadata->setIpAddress(null);
$contentToProcessDeviceMetadataOperatingSystemSpecifications = new OperatingSystemSpecifications();
$contentToProcessDeviceMetadataOperatingSystemSpecifications->setOperatingSystemPlatform('Windows');
$contentToProcessDeviceMetadataOperatingSystemSpecifications->setOperatingSystemVersion('11.1');
$contentToProcessDeviceMetadata->setOperatingSystemSpecifications($contentToProcessDeviceMetadataOperatingSystemSpecifications);
$contentToProcess->setDeviceMetadata($contentToProcessDeviceMetadata);
$contentToProcessIntegratedAppMetadata = new IntegratedApplicationMetadata();
$contentToProcessIntegratedAppMetadata->setName('My Entra App');
$contentToProcessIntegratedAppMetadata->setVersion('0.1');
$contentToProcess->setIntegratedAppMetadata($contentToProcessIntegratedAppMetadata);
$contentToProcessProtectedAppMetadata = new ProtectedApplicationMetadata();
$contentToProcessProtectedAppMetadata->setName('My Entra App');
$contentToProcessProtectedAppMetadata->setVersion('0.1');
$contentToProcessProtectedAppMetadataApplicationLocation = new PolicyLocationUrl();
$contentToProcessProtectedAppMetadataApplicationLocation->setOdataType('#microsoft.graph.policyLocationUrl');
$contentToProcessProtectedAppMetadataApplicationLocation->setValue('https://gemini.google.com');
$contentToProcessProtectedAppMetadata->setApplicationLocation($contentToProcessProtectedAppMetadataApplicationLocation);
$contentToProcess->setProtectedAppMetadata($contentToProcessProtectedAppMetadata);
$requestBody->setContentToProcess($contentToProcess);
$result = $graphServiceClient->users()->byUserId('user-id')->dataSecurityAndGovernance()->processContent()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.datasecurityandgovernance.process_content.process_content_post_request_body import ProcessContentPostRequestBody
from msgraph_beta.generated.models.process_content_request import ProcessContentRequest
from msgraph_beta.generated.models.process_content_metadata_base import ProcessContentMetadataBase
from msgraph_beta.generated.models.process_conversation_metadata import ProcessConversationMetadata
from msgraph_beta.generated.models.text_content import TextContent
from msgraph_beta.generated.models.activity_metadata import ActivityMetadata
from msgraph_beta.generated.models.user_activity_type import UserActivityType
from msgraph_beta.generated.models.device_metadata import DeviceMetadata
from msgraph_beta.generated.models.operating_system_specifications import OperatingSystemSpecifications
from msgraph_beta.generated.models.integrated_application_metadata import IntegratedApplicationMetadata
from msgraph_beta.generated.models.protected_application_metadata import ProtectedApplicationMetadata
from msgraph_beta.generated.models.policy_location_url import PolicyLocationUrl
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ProcessContentPostRequestBody(
content_to_process = ProcessContentRequest(
content_entries = [
ProcessConversationMetadata(
odata_type = "#microsoft.graph.processConversationMetadata",
identifier = "f7af180f-dc2e-467c-9719-757e1c61eabf",
content = TextContent(
odata_type = "#microsoft.graph.textContent",
data = "some data",
),
correlation_id = "d63eafd2-e3a9-4c1a-b726-a2e9b9d95811",
sequence_number = 0,
name = "Test Content",
),
],
activity_metadata = ActivityMetadata(
activity = UserActivityType.UploadText,
),
device_metadata = DeviceMetadata(
device_type = "unmanaged",
ip_address = None,
operating_system_specifications = OperatingSystemSpecifications(
operating_system_platform = "Windows",
operating_system_version = "11.1",
),
),
integrated_app_metadata = IntegratedApplicationMetadata(
name = "My Entra App",
version = "0.1",
),
protected_app_metadata = ProtectedApplicationMetadata(
name = "My Entra App",
version = "0.1",
application_location = PolicyLocationUrl(
odata_type = "#microsoft.graph.policyLocationUrl",
value = "https://gemini.google.com",
),
),
),
)
result = await graph_client.users.by_user_id('user-id').data_security_and_governance.process_content.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.processContentResponse",
"protectionScopeState": "modified",
"policyActions": [
{
"@odata.type": "#microsoft.graph.restrictAccessAction",
"action": "restrictAccess",
"restrictionAction": "block"
}
],
"processingErrors": []
}
Пример 4. Приложение поставщика услуг сети с содержимым файла
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/me/dataSecurityAndGovernance/processContent
Content-Type: application/json
{
"contentToProcess": {
"contentEntries": [
{
"@odata.type": "#microsoft.graph.processFileMetadata",
"identifier": "f7af180f-dc2e-467c-9719-757e1c61eabf",
"content": {
"@odata.type": "#microsoft.graph.textContent",
"data": "Base64 encoded content"
},
"name": "Test File.docx",
"correlationId": "d63eafd2-e3a9-4c1a-b726-a2e9b9d95822",
"createdDateTime": "2024-07-23T01:31:40.2020463Z",
"modifiedDateTime": "2024-09-17T13:45:21.0000000Z",
"correlationId": "9d84223c-521c-42f4-8f35-3cdeabe515d3",
"length": 17352,
"isTruncated": false,
"ownerId": "ffe1ca70-6e5b-4120-abf0-472034ba05d4",
"contentCategory": "none",
"customProperties": {
"Department": "Finance",
"ReviewerName": "John Smith"
}
}
],
"activityMetadata": {
"activity": "uploadFile"
},
"deviceMetadata": {
"deviceType": "unmanaged",
"operatingSystemSpecifications": {
"operatingSystemPlatform": "Windows",
"operatingSystemVersion": "11.1"
}
},
"integratedAppMetadata": {
"name": "Network Proxy App",
"version": "1.0.0"
},
"protectedAppMetadata": {
"name": "My App",
"version": "0.1",
"applicationLocation": {
"@odata.type": "#microsoft.graph.policyLocationUrl",
"value": "https://gemini.google.com"
}
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Me.DataSecurityAndGovernance.ProcessContent;
using Microsoft.Graph.Beta.Models;
var requestBody = new ProcessContentPostRequestBody
{
ContentToProcess = new ProcessContentRequest
{
ContentEntries = new List<ProcessContentMetadataBase>
{
new ProcessFileMetadata
{
OdataType = "#microsoft.graph.processFileMetadata",
Identifier = "f7af180f-dc2e-467c-9719-757e1c61eabf",
Content = new TextContent
{
OdataType = "#microsoft.graph.textContent",
Data = "Base64 encoded content",
},
Name = "Test File.docx",
CorrelationId = "d63eafd2-e3a9-4c1a-b726-a2e9b9d95822",
CreatedDateTime = DateTimeOffset.Parse("2024-07-23T01:31:40.2020463Z"),
ModifiedDateTime = DateTimeOffset.Parse("2024-09-17T13:45:21.0000000Z"),
CorrelationId = "9d84223c-521c-42f4-8f35-3cdeabe515d3",
Length = 17352L,
IsTruncated = false,
OwnerId = "ffe1ca70-6e5b-4120-abf0-472034ba05d4",
ContentCategory = ContentCategory.None,
CustomProperties = new CustomMetadataDictionary
{
AdditionalData = new Dictionary<string, object>
{
{
"Department" , "Finance"
},
{
"ReviewerName" , "John Smith"
},
},
},
},
},
ActivityMetadata = new ActivityMetadata
{
Activity = UserActivityType.UploadFile,
},
DeviceMetadata = new DeviceMetadata
{
DeviceType = "unmanaged",
OperatingSystemSpecifications = new OperatingSystemSpecifications
{
OperatingSystemPlatform = "Windows",
OperatingSystemVersion = "11.1",
},
},
IntegratedAppMetadata = new IntegratedApplicationMetadata
{
Name = "Network Proxy App",
Version = "1.0.0",
},
ProtectedAppMetadata = new ProtectedApplicationMetadata
{
Name = "My App",
Version = "0.1",
ApplicationLocation = new PolicyLocationUrl
{
OdataType = "#microsoft.graph.policyLocationUrl",
Value = "https://gemini.google.com",
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.DataSecurityAndGovernance.ProcessContent.PostAsync(requestBody);
// 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"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewItemProcessContentPostRequestBody()
contentToProcess := graphmodels.NewProcessContentRequest()
processContentMetadataBase := graphmodels.NewProcessFileMetadata()
identifier := "f7af180f-dc2e-467c-9719-757e1c61eabf"
processContentMetadataBase.SetIdentifier(&identifier)
content := graphmodels.NewTextContent()
data := "Base64 encoded content"
content.SetData(&data)
processContentMetadataBase.SetContent(content)
name := "Test File.docx"
processContentMetadataBase.SetName(&name)
correlationId := "d63eafd2-e3a9-4c1a-b726-a2e9b9d95822"
processContentMetadataBase.SetCorrelationId(&correlationId)
createdDateTime , err := time.Parse(time.RFC3339, "2024-07-23T01:31:40.2020463Z")
processContentMetadataBase.SetCreatedDateTime(&createdDateTime)
modifiedDateTime , err := time.Parse(time.RFC3339, "2024-09-17T13:45:21.0000000Z")
processContentMetadataBase.SetModifiedDateTime(&modifiedDateTime)
correlationId := "9d84223c-521c-42f4-8f35-3cdeabe515d3"
processContentMetadataBase.SetCorrelationId(&correlationId)
length := int64(17352)
processContentMetadataBase.SetLength(&length)
isTruncated := false
processContentMetadataBase.SetIsTruncated(&isTruncated)
ownerId := "ffe1ca70-6e5b-4120-abf0-472034ba05d4"
processContentMetadataBase.SetOwnerId(&ownerId)
contentCategory := graphmodels.NONE_CONTENTCATEGORY
processContentMetadataBase.SetContentCategory(&contentCategory)
customProperties := graphmodels.NewCustomMetadataDictionary()
additionalData := map[string]interface{}{
"Department" : "Finance",
"ReviewerName" : "John Smith",
}
customProperties.SetAdditionalData(additionalData)
processContentMetadataBase.SetCustomProperties(customProperties)
contentEntries := []graphmodels.ProcessContentMetadataBaseable {
processContentMetadataBase,
}
contentToProcess.SetContentEntries(contentEntries)
activityMetadata := graphmodels.NewActivityMetadata()
activity := graphmodels.UPLOADFILE_USERACTIVITYTYPE
activityMetadata.SetActivity(&activity)
contentToProcess.SetActivityMetadata(activityMetadata)
deviceMetadata := graphmodels.NewDeviceMetadata()
deviceType := "unmanaged"
deviceMetadata.SetDeviceType(&deviceType)
operatingSystemSpecifications := graphmodels.NewOperatingSystemSpecifications()
operatingSystemPlatform := "Windows"
operatingSystemSpecifications.SetOperatingSystemPlatform(&operatingSystemPlatform)
operatingSystemVersion := "11.1"
operatingSystemSpecifications.SetOperatingSystemVersion(&operatingSystemVersion)
deviceMetadata.SetOperatingSystemSpecifications(operatingSystemSpecifications)
contentToProcess.SetDeviceMetadata(deviceMetadata)
integratedAppMetadata := graphmodels.NewIntegratedApplicationMetadata()
name := "Network Proxy App"
integratedAppMetadata.SetName(&name)
version := "1.0.0"
integratedAppMetadata.SetVersion(&version)
contentToProcess.SetIntegratedAppMetadata(integratedAppMetadata)
protectedAppMetadata := graphmodels.NewProtectedApplicationMetadata()
name := "My App"
protectedAppMetadata.SetName(&name)
version := "0.1"
protectedAppMetadata.SetVersion(&version)
applicationLocation := graphmodels.NewPolicyLocationUrl()
value := "https://gemini.google.com"
applicationLocation.SetValue(&value)
protectedAppMetadata.SetApplicationLocation(applicationLocation)
contentToProcess.SetProtectedAppMetadata(protectedAppMetadata)
requestBody.SetContentToProcess(contentToProcess)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
processContent, err := graphClient.Me().DataSecurityAndGovernance().ProcessContent().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.users.item.datasecurityandgovernance.processcontent.ProcessContentPostRequestBody processContentPostRequestBody = new com.microsoft.graph.beta.users.item.datasecurityandgovernance.processcontent.ProcessContentPostRequestBody();
ProcessContentRequest contentToProcess = new ProcessContentRequest();
LinkedList<ProcessContentMetadataBase> contentEntries = new LinkedList<ProcessContentMetadataBase>();
ProcessFileMetadata processContentMetadataBase = new ProcessFileMetadata();
processContentMetadataBase.setOdataType("#microsoft.graph.processFileMetadata");
processContentMetadataBase.setIdentifier("f7af180f-dc2e-467c-9719-757e1c61eabf");
TextContent content = new TextContent();
content.setOdataType("#microsoft.graph.textContent");
content.setData("Base64 encoded content");
processContentMetadataBase.setContent(content);
processContentMetadataBase.setName("Test File.docx");
processContentMetadataBase.setCorrelationId("d63eafd2-e3a9-4c1a-b726-a2e9b9d95822");
OffsetDateTime createdDateTime = OffsetDateTime.parse("2024-07-23T01:31:40.2020463Z");
processContentMetadataBase.setCreatedDateTime(createdDateTime);
OffsetDateTime modifiedDateTime = OffsetDateTime.parse("2024-09-17T13:45:21.0000000Z");
processContentMetadataBase.setModifiedDateTime(modifiedDateTime);
processContentMetadataBase.setCorrelationId("9d84223c-521c-42f4-8f35-3cdeabe515d3");
processContentMetadataBase.setLength(17352L);
processContentMetadataBase.setIsTruncated(false);
processContentMetadataBase.setOwnerId("ffe1ca70-6e5b-4120-abf0-472034ba05d4");
processContentMetadataBase.setContentCategory(ContentCategory.None);
CustomMetadataDictionary customProperties = new CustomMetadataDictionary();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("Department", "Finance");
additionalData.put("ReviewerName", "John Smith");
customProperties.setAdditionalData(additionalData);
processContentMetadataBase.setCustomProperties(customProperties);
contentEntries.add(processContentMetadataBase);
contentToProcess.setContentEntries(contentEntries);
ActivityMetadata activityMetadata = new ActivityMetadata();
activityMetadata.setActivity(UserActivityType.UploadFile);
contentToProcess.setActivityMetadata(activityMetadata);
DeviceMetadata deviceMetadata = new DeviceMetadata();
deviceMetadata.setDeviceType("unmanaged");
OperatingSystemSpecifications operatingSystemSpecifications = new OperatingSystemSpecifications();
operatingSystemSpecifications.setOperatingSystemPlatform("Windows");
operatingSystemSpecifications.setOperatingSystemVersion("11.1");
deviceMetadata.setOperatingSystemSpecifications(operatingSystemSpecifications);
contentToProcess.setDeviceMetadata(deviceMetadata);
IntegratedApplicationMetadata integratedAppMetadata = new IntegratedApplicationMetadata();
integratedAppMetadata.setName("Network Proxy App");
integratedAppMetadata.setVersion("1.0.0");
contentToProcess.setIntegratedAppMetadata(integratedAppMetadata);
ProtectedApplicationMetadata protectedAppMetadata = new ProtectedApplicationMetadata();
protectedAppMetadata.setName("My App");
protectedAppMetadata.setVersion("0.1");
PolicyLocationUrl applicationLocation = new PolicyLocationUrl();
applicationLocation.setOdataType("#microsoft.graph.policyLocationUrl");
applicationLocation.setValue("https://gemini.google.com");
protectedAppMetadata.setApplicationLocation(applicationLocation);
contentToProcess.setProtectedAppMetadata(protectedAppMetadata);
processContentPostRequestBody.setContentToProcess(contentToProcess);
var result = graphClient.me().dataSecurityAndGovernance().processContent().post(processContentPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const processContentResponse = {
contentToProcess: {
contentEntries: [
{
'@odata.type': '#microsoft.graph.processFileMetadata',
identifier: 'f7af180f-dc2e-467c-9719-757e1c61eabf',
content: {
'@odata.type': '#microsoft.graph.textContent',
data: 'Base64 encoded content'
},
name: 'Test File.docx',
correlationId: 'd63eafd2-e3a9-4c1a-b726-a2e9b9d95822',
createdDateTime: '2024-07-23T01:31:40.2020463Z',
modifiedDateTime: '2024-09-17T13:45:21.0000000Z',
correlationId: '9d84223c-521c-42f4-8f35-3cdeabe515d3',
length: 17352,
isTruncated: false,
ownerId: 'ffe1ca70-6e5b-4120-abf0-472034ba05d4',
contentCategory: 'none',
customProperties: {
Department: 'Finance',
ReviewerName: 'John Smith'
}
}
],
activityMetadata: {
activity: 'uploadFile'
},
deviceMetadata: {
deviceType: 'unmanaged',
operatingSystemSpecifications: {
operatingSystemPlatform: 'Windows',
operatingSystemVersion: '11.1'
}
},
integratedAppMetadata: {
name: 'Network Proxy App',
version: '1.0.0'
},
protectedAppMetadata: {
name: 'My App',
version: '0.1',
applicationLocation: {
'@odata.type': '#microsoft.graph.policyLocationUrl',
value: 'https://gemini.google.com'
}
}
}
};
await client.api('/me/dataSecurityAndGovernance/processContent')
.version('beta')
.post(processContentResponse);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\DataSecurityAndGovernance\ProcessContent\ProcessContentPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ProcessContentRequest;
use Microsoft\Graph\Beta\Generated\Models\ProcessContentMetadataBase;
use Microsoft\Graph\Beta\Generated\Models\ProcessFileMetadata;
use Microsoft\Graph\Beta\Generated\Models\TextContent;
use Microsoft\Graph\Beta\Generated\Models\ContentCategory;
use Microsoft\Graph\Beta\Generated\Models\CustomMetadataDictionary;
use Microsoft\Graph\Beta\Generated\Models\ActivityMetadata;
use Microsoft\Graph\Beta\Generated\Models\UserActivityType;
use Microsoft\Graph\Beta\Generated\Models\DeviceMetadata;
use Microsoft\Graph\Beta\Generated\Models\OperatingSystemSpecifications;
use Microsoft\Graph\Beta\Generated\Models\IntegratedApplicationMetadata;
use Microsoft\Graph\Beta\Generated\Models\ProtectedApplicationMetadata;
use Microsoft\Graph\Beta\Generated\Models\PolicyLocationUrl;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ProcessContentPostRequestBody();
$contentToProcess = new ProcessContentRequest();
$contentEntriesProcessContentMetadataBase1 = new ProcessFileMetadata();
$contentEntriesProcessContentMetadataBase1->setOdataType('#microsoft.graph.processFileMetadata');
$contentEntriesProcessContentMetadataBase1->setIdentifier('f7af180f-dc2e-467c-9719-757e1c61eabf');
$contentEntriesProcessContentMetadataBase1Content = new TextContent();
$contentEntriesProcessContentMetadataBase1Content->setOdataType('#microsoft.graph.textContent');
$contentEntriesProcessContentMetadataBase1Content->setData('Base64 encoded content');
$contentEntriesProcessContentMetadataBase1->setContent($contentEntriesProcessContentMetadataBase1Content);
$contentEntriesProcessContentMetadataBase1->setName('Test File.docx');
$contentEntriesProcessContentMetadataBase1->setCorrelationId('d63eafd2-e3a9-4c1a-b726-a2e9b9d95822');
$contentEntriesProcessContentMetadataBase1->setCreatedDateTime(new \DateTime('2024-07-23T01:31:40.2020463Z'));
$contentEntriesProcessContentMetadataBase1->setModifiedDateTime(new \DateTime('2024-09-17T13:45:21.0000000Z'));
$contentEntriesProcessContentMetadataBase1->setCorrelationId('9d84223c-521c-42f4-8f35-3cdeabe515d3');
$contentEntriesProcessContentMetadataBase1->setLength(17352);
$contentEntriesProcessContentMetadataBase1->setIsTruncated(false);
$contentEntriesProcessContentMetadataBase1->setOwnerId('ffe1ca70-6e5b-4120-abf0-472034ba05d4');
$contentEntriesProcessContentMetadataBase1->setContentCategory(new ContentCategory('none'));
$contentEntriesProcessContentMetadataBase1CustomProperties = new CustomMetadataDictionary();
$additionalData = [
'Department' => 'Finance',
'ReviewerName' => 'John Smith',
];
$contentEntriesProcessContentMetadataBase1CustomProperties->setAdditionalData($additionalData);
$contentEntriesProcessContentMetadataBase1->setCustomProperties($contentEntriesProcessContentMetadataBase1CustomProperties);
$contentEntriesArray []= $contentEntriesProcessContentMetadataBase1;
$contentToProcess->setContentEntries($contentEntriesArray);
$contentToProcessActivityMetadata = new ActivityMetadata();
$contentToProcessActivityMetadata->setActivity(new UserActivityType('uploadFile'));
$contentToProcess->setActivityMetadata($contentToProcessActivityMetadata);
$contentToProcessDeviceMetadata = new DeviceMetadata();
$contentToProcessDeviceMetadata->setDeviceType('unmanaged');
$contentToProcessDeviceMetadataOperatingSystemSpecifications = new OperatingSystemSpecifications();
$contentToProcessDeviceMetadataOperatingSystemSpecifications->setOperatingSystemPlatform('Windows');
$contentToProcessDeviceMetadataOperatingSystemSpecifications->setOperatingSystemVersion('11.1');
$contentToProcessDeviceMetadata->setOperatingSystemSpecifications($contentToProcessDeviceMetadataOperatingSystemSpecifications);
$contentToProcess->setDeviceMetadata($contentToProcessDeviceMetadata);
$contentToProcessIntegratedAppMetadata = new IntegratedApplicationMetadata();
$contentToProcessIntegratedAppMetadata->setName('Network Proxy App');
$contentToProcessIntegratedAppMetadata->setVersion('1.0.0');
$contentToProcess->setIntegratedAppMetadata($contentToProcessIntegratedAppMetadata);
$contentToProcessProtectedAppMetadata = new ProtectedApplicationMetadata();
$contentToProcessProtectedAppMetadata->setName('My App');
$contentToProcessProtectedAppMetadata->setVersion('0.1');
$contentToProcessProtectedAppMetadataApplicationLocation = new PolicyLocationUrl();
$contentToProcessProtectedAppMetadataApplicationLocation->setOdataType('#microsoft.graph.policyLocationUrl');
$contentToProcessProtectedAppMetadataApplicationLocation->setValue('https://gemini.google.com');
$contentToProcessProtectedAppMetadata->setApplicationLocation($contentToProcessProtectedAppMetadataApplicationLocation);
$contentToProcess->setProtectedAppMetadata($contentToProcessProtectedAppMetadata);
$requestBody->setContentToProcess($contentToProcess);
$result = $graphServiceClient->me()->dataSecurityAndGovernance()->processContent()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.datasecurityandgovernance.process_content.process_content_post_request_body import ProcessContentPostRequestBody
from msgraph_beta.generated.models.process_content_request import ProcessContentRequest
from msgraph_beta.generated.models.process_content_metadata_base import ProcessContentMetadataBase
from msgraph_beta.generated.models.process_file_metadata import ProcessFileMetadata
from msgraph_beta.generated.models.text_content import TextContent
from msgraph_beta.generated.models.content_category import ContentCategory
from msgraph_beta.generated.models.custom_metadata_dictionary import CustomMetadataDictionary
from msgraph_beta.generated.models.activity_metadata import ActivityMetadata
from msgraph_beta.generated.models.user_activity_type import UserActivityType
from msgraph_beta.generated.models.device_metadata import DeviceMetadata
from msgraph_beta.generated.models.operating_system_specifications import OperatingSystemSpecifications
from msgraph_beta.generated.models.integrated_application_metadata import IntegratedApplicationMetadata
from msgraph_beta.generated.models.protected_application_metadata import ProtectedApplicationMetadata
from msgraph_beta.generated.models.policy_location_url import PolicyLocationUrl
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ProcessContentPostRequestBody(
content_to_process = ProcessContentRequest(
content_entries = [
ProcessFileMetadata(
odata_type = "#microsoft.graph.processFileMetadata",
identifier = "f7af180f-dc2e-467c-9719-757e1c61eabf",
content = TextContent(
odata_type = "#microsoft.graph.textContent",
data = "Base64 encoded content",
),
name = "Test File.docx",
correlation_id = "d63eafd2-e3a9-4c1a-b726-a2e9b9d95822",
created_date_time = "2024-07-23T01:31:40.2020463Z",
modified_date_time = "2024-09-17T13:45:21.0000000Z",
correlation_id = "9d84223c-521c-42f4-8f35-3cdeabe515d3",
length = 17352,
is_truncated = False,
owner_id = "ffe1ca70-6e5b-4120-abf0-472034ba05d4",
content_category = ContentCategory.None,
custom_properties = CustomMetadataDictionary(
additional_data = {
"department" : "Finance",
"reviewer_name" : "John Smith",
}
),
),
],
activity_metadata = ActivityMetadata(
activity = UserActivityType.UploadFile,
),
device_metadata = DeviceMetadata(
device_type = "unmanaged",
operating_system_specifications = OperatingSystemSpecifications(
operating_system_platform = "Windows",
operating_system_version = "11.1",
),
),
integrated_app_metadata = IntegratedApplicationMetadata(
name = "Network Proxy App",
version = "1.0.0",
),
protected_app_metadata = ProtectedApplicationMetadata(
name = "My App",
version = "0.1",
application_location = PolicyLocationUrl(
odata_type = "#microsoft.graph.policyLocationUrl",
value = "https://gemini.google.com",
),
),
),
)
result = await graph_client.me.data_security_and_governance.process_content.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.processContentResponse",
"protectionScopeState": "modified",
"policyActions": [
{
"@odata.type": "#microsoft.graph.restrictAccessAction",
"action": "restrictAccess",
"restrictionAction": "block"
}
],
"processingErrors": []
}