userDataSecurityAndGovernance: processContent

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Verarbeiten von Inhalten anhand von Datenschutzrichtlinien im Kontext des aktuellen oder des angegebenen Benutzers.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet
✅ ✅ ✅ ❌

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Content.Process.User Content.Process.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Application Content.Process.User Content.Process.All

HTTP-Anforderung

POST /me/dataSecurityAndGovernance/processContent

Hinweis

Das Aufrufen des /me-Endpunkts erfordert einen angemeldeten Benutzer und daher eine delegierte Berechtigung. Anwendungsberechtigungen werden bei Verwendung des /me Endpunkts nicht unterstützt.

POST /users/{userId}/dataSecurityAndGovernance/processContent

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.
If-None-Match Optional. Dieser Wert wird von der API verwendet, um zu bestimmen, ob sich der Richtlinienstatus seit dem letzten Aufruf der API geändert hat. Der Wert stammt aus dem Etag-Header, der von protectionScopes-Compute zurückgegeben wird. Wenn der neu berechnete Etag-Wert nicht mit dem in diesem Header übergebenen Wert übereinstimmt, wird die zurückgegebene protectionScopeState-Eigenschaft "geändert", und die App muss aktualisiert werden, indem protectionScopes-Compute aufgerufen wird.
client-request-id Zeichenfolge (GUID empfohlen). Optional. Eindeutiger Bezeichner für diese Anforderung, der für die Ablaufverfolgung und das Debuggen in Protokollen und Supportinteraktionen verwendet wird. Wenn keine ID angegeben wird, kann automatisch eine generiert werden. Wir empfehlen, die ID anzugeben, um Ablaufverfolgung und Debugging zu vereinfachen. Die gleiche ID, die in der Anforderung gesendet wurde, wird in der Antwort zurückgegeben.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung der Parameter an.

In der folgenden Tabelle sind die Parameter aufgeführt, die erforderlich sind, wenn Sie diese Aktion aufrufen.

Parameter Typ Beschreibung
contentToProcess processContentRequest Erforderlich. Das Objekt, das die Inhaltseinträge und Metadaten (Aktivität, Gerät, Anwendung) enthält, die für den angegebenen Benutzer ausgewertet werden sollen.

Verwenden Sie für Dateiinhalte einen processFileMetadata-Eintrag in contentEntries. Um Metadaten für Vertraulichkeitsbezeichnungen bereitzustellen, schließen Sie die geerbte sensitivityLabels-Auflistung mit einem oder mehreren currentLabel-Objekten ein. Verwenden Sie ein Array, auch wenn Sie nur eine Bezeichnung bereitstellen. Wenn Sie diese Metadaten bereitstellen, werden keine Bezeichnungen für die Datei angewendet oder geändert.

Lassen Sie sensitivityLabels aus oder geben Sie eine leere Auflistung an, wenn Sie keine vom Aufrufer bereitgestellten Bezeichnungsmetadaten angeben. In beiden Fällen wird keine Bezeichnung aus dem Inhalt entfernt.

Geben Sie Bezeichnungsmetadaten nur für Aktivitäten an, die von dieser API unterstützt werden. Anforderungen, die Bezeichnungen für nicht unterstützte Aktivitäten bestätigen, können abgelehnt werden. Die Schemavererbung richtet keine Aktivitätsunterstützung ein.

Antwort

Bei erfolgreicher Ausführung gibt diese Aktion einen 200 OK Antwortcode und eine processContentResponse im Antworttext oder 202 Acceptedzurück, 204 No Content ohne Antworttext.

Antwortheader

Name Beschreibung
ETag Ein Indikator, der verwendet werden kann, um zu erkennen, ob der Status der konfigurierten Richtlinie geändert wurde. Wenn sich der Richtlinienstatus geändert hat, ändert sich der ETag-Wert, und die zurückgegebene protectionScopeState-Eigenschaft wird "geändert", und die App muss aktualisiert werden, indem protectionScopes-Compute aufgerufen wird.

Beispiele

Beispiel 1: Unternehmens-App

Anforderung

Das folgende Beispiel zeigt eine Anforderung aus einer Unternehmens-App, bei der es sich um eine Nicht-KI-App oder eine KI-App handeln kann. Der Text, den Sie senden data , kann ein beliebiger Text aus Ihrer App sein, z. B. ein Dokumenttext, eine Chatnachricht oder die Eingabeaufforderung des Benutzers, wenn Ihre App eine KI-App ist.

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" 
       }
    }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": []
}

Beispiel 2: KI-Agent

Anforderung

Das folgende Beispiel zeigt eine Anforderung, die von einem KI-Agent gesendet wurde. Beachten Sie, dass in der Anforderung ein agents Array vom Typ aiAgentInfo. In diesem Beispiel wird verwendet, data um die Eingabeaufforderung des Benutzers zu senden.

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" 
       }
    }
}


Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": []
}

Beispiel 3: Netzbetreiber-App

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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"
			}
		}
	}
}


Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": []
}

Beispiel 4: Netzbetreiber-App mit Dateiinhalt

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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"
			}
		}
	}
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": []
}

Beispiel 5: Dateiinhalt mit einer Vertraulichkeitsbezeichnung

Anforderung

Im folgenden Beispiel wird ein Metadatenobjekt für Vertraulichkeitsbezeichnungen für einen Dateiinhaltseintrag bereitgestellt. Die sensitivityLabels-Eigenschaft ist eine Auflistung, sodass das einzelne Objekt in ein Array eingeschlossen ist. Die Bezeichner und Bezeichnungswerte in diesem Beispiel sind frei erfunden.

POST https://graph.microsoft.com/beta/users/5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba/dataSecurityAndGovernance/processContent
Content-Type: application/json

{
  "contentToProcess": {
    "contentEntries": [
      {
        "@odata.type": "#microsoft.graph.processFileMetadata",
        "identifier": "project-proposal",
        "content": {
          "@odata.type": "#microsoft.graph.textContent",
          "data": "Draft project proposal."
        },
        "name": "Project proposal.docx",
        "isTruncated": false,
        "createdDateTime": "2026-10-01T09:00:00Z",
        "modifiedDateTime": "2026-10-01T09:00:00Z",
        "ownerId": "5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba",
        "sensitivityLabels": [
          {
            "id": "f7c86e4a-e462-4bbb-a0f0-078c10aa2898",
            "applicationMode": "manual"
          }
        ]
      }
    ],
    "activityMetadata": {
      "activity": "uploadFile"
    },
    "deviceMetadata": {
      "deviceType": "managed",
      "operatingSystemSpecifications": {
        "operatingSystemPlatform": "Windows 11",
        "operatingSystemVersion": "10.0.26100.0"
      }
    },
    "integratedAppMetadata": {
      "name": "Microsoft 365 Copilot",
      "version": "1.0.0"
    },
    "protectedAppMetadata": {
      "name": "Microsoft 365 Copilot in Word",
      "version": "1.0.0",
      "applicationLocation": {
        "@odata.type": "#microsoft.graph.policyLocationApplication",
        "value": "Copilot.M365.Word"
      }
    }
  }
}

Antwort

Das folgende Beispiel zeigt eine Antwort, wenn eine anwendbare Datenschutzrichtlinie das Blockieren des übermittelten Inhalts erfordert. Die zurückgegebenen Aktionen hängen von den anwendbaren Richtlinien und nicht von der Anzahl der bereitgestellten Bezeichnungen ab.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.processContentResponse",
  "protectionScopeState": "notModified",
  "policyActions": [
    {
      "@odata.type": "#microsoft.graph.restrictAccessAction",
      "action": "restrictAccess",
      "restrictionAction": "block"
    }
  ],
  "processingErrors": []
}

Beispiel 6: Dateiinhalt mit zwei Vertraulichkeitsbezeichnungen

Anforderung

Im folgenden Beispiel werden zwei verschiedene Metadatenobjekte für Vertraulichkeitsbezeichnungen für denselben Dateiinhaltseintrag bereitgestellt. Beide Objekte befinden sich in der geerbten sensitivityLabels-Auflistung . Jede verfügt über einen eigenen Bezeichnungsbezeichner und Anwendungsmodus. Die Auflistung beschreibt die vom Aufrufer bereitgestellten Metadaten und wendet nicht mehrere Bezeichnungen auf die Datei an.

POST https://graph.microsoft.com/beta/users/5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba/dataSecurityAndGovernance/processContent
Content-Type: application/json

{
  "contentToProcess": {
    "contentEntries": [
      {
        "@odata.type": "#microsoft.graph.processFileMetadata",
        "identifier": "project-proposal",
        "content": {
          "@odata.type": "#microsoft.graph.textContent",
          "data": "Draft project proposal."
        },
        "name": "Project proposal.docx",
        "isTruncated": false,
        "createdDateTime": "2026-10-01T09:00:00Z",
        "modifiedDateTime": "2026-10-01T09:00:00Z",
        "ownerId": "5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba",
        "sensitivityLabels": [
          {
            "id": "8d14c2db-3e52-4345-af62-4ee3e65bff9e",
            "applicationMode": "automatic"
          },
          {
            "id": "f7c86e4a-e462-4bbb-a0f0-078c10aa2898",
            "applicationMode": "manual"
          }
        ]
      }
    ],
    "activityMetadata": {
      "activity": "uploadFile"
    },
    "deviceMetadata": {
      "deviceType": "managed",
      "operatingSystemSpecifications": {
        "operatingSystemPlatform": "Windows 11",
        "operatingSystemVersion": "10.0.26100.0"
      }
    },
    "integratedAppMetadata": {
      "name": "Microsoft 365 Copilot",
      "version": "1.0.0"
    },
    "protectedAppMetadata": {
      "name": "Microsoft 365 Copilot in Word",
      "version": "1.0.0",
      "applicationLocation": {
        "@odata.type": "#microsoft.graph.policyLocationApplication",
        "value": "Copilot.M365.Word"
      }
    }
  }
}

Antwort

Das folgende Beispiel zeigt eine Antwort, wenn eine anwendbare Datenschutzrichtlinie das Blockieren des übermittelten Inhalts erfordert. Die Angabe von zwei Bezeichnungen allein bestimmt nicht die Antwort.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.processContentResponse",
  "protectionScopeState": "notModified",
  "policyActions": [
    {
      "@odata.type": "#microsoft.graph.restrictAccessAction",
      "action": "restrictAccess",
      "restrictionAction": "block"
    }
  ],
  "processingErrors": []
}