Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão
Permissões menos privilegiadas
Permissões privilegiadas mais altas
Delegado (conta corporativa ou de estudante)
Files.ReadWrite
Files.ReadWrite.All, Sites.ReadWrite.All
Delegado (conta pessoal da Microsoft)
Files.ReadWrite
Files.ReadWrite.All
Aplicativo
Files.ReadWrite.All
Sites.ReadWrite.All
Solicitação HTTP
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
Parâmetros de consulta opcionais
Esse método dá suporte ao @microsoft.graph.conflictBehavior parâmetro de consulta para personalizar o comportamento quando ocorre um conflito.
Valor
Descrição
fail
O comportamento padrão é relatar a falha.
replace
Substitua o item existente no site de destino.
rename
Renomeie o item.
Nota: O conflictBehavior não tem suporte para o OneDrive Consumer.
Opcional. Referência ao item pai em que a cópia será criada.
name
string
Opcional. O novo nome para a cópia. Se isso não for fornecido, será usado o mesmo nome que o original.
Observação:parentReference deve incluir os parâmetros driveId e id para a pasta de destino.
Resposta
Retorna detalhes sobre como monitorar o progresso da cópia após aceitar a solicitação.
Exemplo
Este exemplo copia um arquivo identificado por {item-id} em uma pasta identificada por um valor driveId e id.
A nova cópia do arquivo será nomeada contoso plan (copy).txt.
POST https://graph.microsoft.com/v1.0/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"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Drives.Item.Items.Item.Copy;
using Microsoft.Graph.Models;
var requestBody = new CopyPostRequestBody
{
ParentReference = new ItemReference
{
DriveId = "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
Id = "DCD0D3AD-8989-4F23-A5A2-2C086050513F",
},
Name = "contoso plan (copy).txt",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].Copy.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphdrives "github.com/microsoftgraph/msgraph-sdk-go/drives"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphdrives.NewCopyPostRequestBody()
parentReference := graphmodels.NewItemReference()
driveId := "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B"
parentReference.SetDriveId(&driveId)
id := "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
parentReference.SetId(&id)
requestBody.SetParentReference(parentReference)
name := "contoso plan (copy).txt"
requestBody.SetName(&name)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
copy, err := graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").Copy().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.drives.item.items.item.copy.CopyPostRequestBody copyPostRequestBody = new com.microsoft.graph.drives.item.items.item.copy.CopyPostRequestBody();
ItemReference parentReference = new ItemReference();
parentReference.setDriveId("6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B");
parentReference.setId("DCD0D3AD-8989-4F23-A5A2-2C086050513F");
copyPostRequestBody.setParentReference(parentReference);
copyPostRequestBody.setName("contoso plan (copy).txt");
var result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").copy().post(copyPostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Drives\Item\Items\Item\Copy\CopyPostRequestBody;
use Microsoft\Graph\Generated\Models\ItemReference;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CopyPostRequestBody();
$parentReference = new ItemReference();
$parentReference->setDriveId('6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B');
$parentReference->setId('DCD0D3AD-8989-4F23-A5A2-2C086050513F');
$requestBody->setParentReference($parentReference);
$requestBody->setName('contoso plan (copy).txt');
$result = $graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->copy()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.drives.item.items.item.copy.copy_post_request_body import CopyPostRequestBody
from msgraph.generated.models.item_reference import ItemReference
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CopyPostRequestBody(
parent_reference = ItemReference(
drive_id = "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
id = "DCD0D3AD-8989-4F23-A5A2-2C086050513F",
),
name = "contoso plan (copy).txt",
)
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').copy.post(request_body)
O valor do cabeçalho Location fornece uma URL para um serviço que irá retornar o estado atual da operação de cópia.
Você pode usar essas informações para determinar quando a cópia tiver sido concluída.
Comentários
Em muitos casos, a ação de copiar é executada de forma assíncrona.
A resposta da API só indicará que a operação de cópia foi aceita ou rejeitada; por exemplo, devido ao nome do arquivo de destino já estar em uso.