driveItem: copy
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.
Erstellen Sie asynchron eine Kopie eines driveItem (einschließlich aller untergeordneten Elemente) unter einem neuen übergeordneten Element oder mit einem neuen Namen. Nachdem die Anforderung bestätigt wurde, wird sie in eine Warteschlange eingereiht. Das eigentliche Kopieren, einschließlich aller Unterelemente, erfolgt zu einem unbestimmten Zeitpunkt. Der Fortschritt wird gemeldet, bis der Vorgang abgeschlossen ist, indem der Fortschritt überwacht wird.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
Globaler Dienst | US Government L4 | US Government L5 (DOD) | China, betrieben von 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Berechtigungen
Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. 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) | Files.ReadWrite | Files.ReadWrite.All, Sites.ReadWrite.All |
Delegiert (persönliches Microsoft-Konto) | Files.ReadWrite | Files.ReadWrite.All |
Anwendung | Files.ReadWrite.All | Sites.ReadWrite.All |
Hinweis
SharePoint Embedded erfordert die FileStorageContainer.Selected
Berechtigung für den Zugriff auf den Inhalt des Containers. Diese Berechtigung unterscheidet sich von den zuvor erwähnten Berechtigungen. Weitere Informationen finden Sie unter SharePoint Embedded-Authentifizierung und -Autorisierung.
Zusätzlich zu den Microsoft Graph-Berechtigungen muss Ihre App über die erforderlichen Berechtigungen auf Containertypebene verfügen, um diese API aufzurufen. Weitere Informationen finden Sie unter Containertypen. Weitere Informationen zu Berechtigungen auf Containertypebene finden Sie unter SharePoint Embedded-Autorisierung.
HTTP-Anforderung
POST /drives/{driveId}/items/{itemId}/copy
POST /groups/{groupId}/drive/items/{itemId}/copy
POST /me/drive/items/{item-id}/copy
POST /sites/{siteId}/drive/items/{itemId}/copy
POST /users/{userId}/drive/items/{itemId}/copy
Optionale Abfrageparameter
Diese Methode unterstützt den @microsoft.graph.conflictBehavior
Abfrageparameter, um das Verhalten anzupassen, wenn ein Konflikt auftritt.
Wert | Beschreibung |
---|---|
fail | Das Standardverhalten besteht darin, den Fehler zu melden. |
replace | Überschreiben Sie ein vorhandenes Element am Zielstandort. |
rename | Benennen Sie das Element um. |
Hinweis
Der conflictBehavior
Parameter wird für OneDrive Consumer nicht unterstützt.
Anforderungstext
Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.
Name | Wert | Beschreibung |
---|---|---|
parentReference | ItemReference | Optional. Verweis auf das übergeordnete Element, in dem die Kopie erstellt wird. |
name | string | Optional. Der neue Name der Kopie. Wenn diese Informationen nicht angegeben werden, wird der gleiche Name wie das Original verwendet. |
childrenOnly | Boolescher Wert | Optional. Wenn auf true festgelegt ist, werden die untergeordneten Elemente des driveItem kopiert, aber nicht das driveItem selbst. Der Standardwert ist false . Nur für Ordnerelemente gültig. |
Hinweis
Der parentReference
Parameter sollte die driveId
Parameter und id
für den Zielordner enthalten.
In einer einzelnen Anforderung kopiert die childrenOnly
Option 150 untergeordnete Elemente, und für die Enkelelemente gilt der SharePoint-Grenzwert. Weitere Informationen finden Sie unter SharePoint-Einschränkung.
Antwort
Die Antwort gibt Details zum Überwachen des Fortschritts der Kopie zurück, nachdem die Anforderung angenommen wurde. Die Antwort gibt an, ob der Kopiervorgang akzeptiert oder abgelehnt wurde, z. B. wenn der Zieldateiname bereits verwendet wird.
Beispiele
Beispiel 1: Kopieren einer Datei in einen Ordner
Im folgenden Beispiel wird eine von {item-id}
identifizierte Datei in einen Ordner kopiert, der mit einem - und id
-driveId
Wert identifiziert wird.
Die neue Kopie der Datei heißt contoso plan (copy).txt
.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
},
"name": "contoso plan (copy).txt"
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717
Beispiel 2: Kopieren der untergeordneten Elemente in einen Ordner
Im folgenden Beispiel werden die untergeordneten Elemente in einem von {item-id}
identifizierten Ordner in einen Ordner kopiert, der mit einem - und id
-driveId
Wert identifiziert wird.
Der childrenOnly
Parameter ist auf true festgelegt.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
},
"childrenOnly": true
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717
Die Überwachung ist wichtig, da der Kopiervorgang mit childrenOnly über mehrere Vorgänge hinweg erfolgt.
Beispiel 3: Kopieren der untergeordneten Elemente in einen Ordner mit Namenskonflikt
Im folgenden Beispiel wird versucht, die untergeordneten Elemente in einem von {item-id}
identifizierten Ordner in einen Ordner zu kopieren, der mit einem - und id
-driveId
Wert identifiziert wird.
Das Ziel hat bereits denselben Namen, der an der Quelle gefunden wurde. Der Vorgang wird akzeptiert, aber während der Verarbeitung tritt ein Fehler auf.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
}
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717
Folgen Sie der Monitor-URL.
{
"id": "46cf980a-28e1-4623-b8d0-11fc5278efe6",
"createdDateTime": "0001-01-01T00:00:00Z",
"lastActionDateTime": "0001-01-01T00:00:00Z",
"status": "failed",
"error": {
"code": "nameAlreadyExists",
"message": "Name already exists"
}
}
Verwenden Sie zum Beheben dieses Fehlers den optionalen Abfrageparameter @microsoft.graph.conflictBehavior.
Beispiel 4: Kopieren der untergeordneten Elemente in einen Ordner mit Namenskonflikteinstellung conflictBehavior
Im folgenden Beispiel werden die untergeordneten Elemente in einem von {item-id}
identifizierten Ordner in einen Ordner kopiert, der mit einem - und id
-driveId
Wert identifiziert wird.
Der optionale Abfrageparameter @microsoft.graph.conflictBehavior wird ersetzt. Die möglichen Werte sind replace
, rename
oder fail
.
Das Ziel hat bereits denselben Namen, der an der Quelle gefunden wurde.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/copy?@microsoft.graph.conflictBehavior=replace
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
}
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717
Beispiel 5: Kopieren der untergeordneten Elemente in einem Ordner aus dem Stammverzeichnis
Im folgenden Beispiel wird versucht, die untergeordneten Elemente in einem Ordner zu kopieren, der durch (auch als Root bezeichnet) identifiziert wird {item-id}
, in einen Ordner, der mit einem - und id
-driveId
Wert identifiziert wird.
Der childrenOnly
Parameter ist nicht auf true festgelegt.
Die Anforderung schlägt fehl, da der Kopiervorgang nicht im Stammordner ausgeführt werden kann.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/root/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
}
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 283
{
"error":
{
"code": "invalidRequest",
"message": "Cannot copy the root folder.",
"innerError":
{
"date": "2023-12-11T04:26:35",
"request-id": "8f897345980-f6f3-49dd-83a8-a3064eeecdf8",
"client-request-id": "50a0er33-4567-3f6c-01bf-04d144fc8bbe"
}
}
}
Um diesen Fehler zu beheben, legen Sie den childrenOnly
Parameter auf true fest.
Beispiel 6: Kopieren der untergeordneten Elemente in einen Ordner mit mehr als 150 direkten untergeordneten Elementen
Im folgenden Beispiel wird versucht, die untergeordneten Elemente in einem von {item-id}
identifizierten Ordner in einen Ordner zu kopieren, der mit einem - und id
-driveId
Wert identifiziert wird.
Der childrenOnly
Parameter ist auf true festgelegt. Das von {item-id}
identifizierte Laufwerkelement enthält mehr als 150 direkte untergeordnete Elemente.
Die Anforderung schlägt fehl, da der Grenzwert 150 direkte untergeordnete Elemente beträgt.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
}
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 341
{
"error":
{
"code": "invalidRequest",
"message": "Direct child count limit exceeded. Cannot copy children only when there are more than 150 direct children.",
"innerError":
{
"code": "directChildrenLimitExceeded",
"date": "2023-12-11T04:26:35",
"request-id": "8f897345980-f6f3-49dd-83a8-a3064eeecdf8",
"client-request-id": "50a0er33-4567-3f6c-01bf-04d144fc8bbe"
}
}
}
Um diesen Fehler zu beheben, organisieren Sie die Quellordnerstruktur nur so neu, dass 150 untergeordnete Elemente vorhanden sind.
Beispiel 7: Kopieren der untergeordneten Elemente, bei denen das Quellelement eine Datei ist
Im folgenden Beispiel wird versucht, die untergeordneten Elemente in einem von {item-id}
identifizierten Ordner in einen Ordner zu kopieren, der mit einem - und id
-driveId
Wert identifiziert wird.
{item-id}
bezieht sich auf eine Datei, nicht auf einen Ordner. Der childrenOnly
Parameter ist auf true festgelegt.
Die Anforderung schlägt fehl, da es sich bei um {item-id}
ein nicht ordnerfreies driveItem handelt.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
},
"childrenOnly": true
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 290
{
"error":
{
"code": "invalidRequest",
"message": "childrenOnly option is not valid for file items.",
"innerError":
{
"date": "2023-12-11T04:26:35",
"request-id": "8f897345980-f6f3-49dd-83a8-a3064eeecdf8",
"client-request-id": "50a0er33-4567-3f6c-01bf-04d144fc8bbe""
}
}
}
Beispiel 8: Kopieren der untergeordneten Elemente in einen Ordner mit childrenOnly und name
Im folgenden Beispiel wird versucht, die untergeordneten Elemente in einem von {item-id}
identifizierten Ordner in einen Ordner zu kopieren, der mit einem - und id
-driveId
Wert identifiziert wird.
Der childrenOnly
Parameter ist auf true festgelegt und gibt einen name
Wert an.
Die Anforderung schlägt fehl, da childrenOnly
und name
nicht zusammen verwendet werden können.
Anforderung
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
},
"name": "contoso plan (copy).txt",
"childrenOnly": true
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 285
{
"error":
{
"code": "invalidRequest",
"message": "Cannot use name parameter alongside childrenOnly.",
"innerError":
{
"date": "2023-12-11T04:26:35",
"request-id": "8f897345980-f6f3-49dd-83a8-a3064eeecdf8",
"client-request-id": "50a0er33-4567-3f6c-01bf-04d144fc8bbe""
}
}
}
Verwandte Inhalte
Fehlerinformationen finden Sie unter Fehlerantworten.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für