Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante)
Sem suporte.
Delegado (conta pessoal da Microsoft)
Files.ReadWrite, Files.ReadWrite.All
Aplicativo
Sem suporte.
Solicitação HTTP
POST /drive/bundles
Cabeçalhos de solicitação
Nome
Descrição
Autorização
{token} de portador. Obrigatório.
Corpo da solicitação
No corpo da solicitação, fornece uma representação JSON do pacote a ser criado.
Resposta
Se a solicitação for bem-sucedida, o driveItem que representa o pacote recém-criado será retornado.
Para obter informações sobre respostas de erro, consulte Respostas de erro.
Exemplos
Exemplo 1: Criar um pacote
O exemplo a seguir mostra como criar um novo pacote básico.
Essa solicitação criará um novo pacote chamado Just some files e adicionará dois itens existentes ao pacote.
Esse pacote pode ser usado para compartilhar uma coleção de arquivos com outros usuários sem compartilhar a pasta em que esses itens são armazenados.
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var driveItem = new DriveItem
{
Name = "Just some files",
Bundle = new Bundle
{
},
Children = new DriveItemChildrenCollectionPage()
{
new DriveItem
{
Id = "1234asdf"
},
new DriveItem
{
Id = "1234qwerty"
}
},
AdditionalData = new Dictionary<string, object>()
{
{"@microsoft.graph.conflictBehavior", "rename"}
}
};
await graphClient.Drive.Bundles
.Request()
.AddAsync(driveItem);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
requestBody.SetAdditionalData(map[string]interface{}{
"name": "Just some files",
"@microsoft.graph.conflictBehavior": "rename",
"children": []Object {
}
}
graphClient.Drive().Bundles().Post(requestBody)
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "1234321!abc",
"name": "Just some files",
"bundle": {
"childCount": 2
}
}
O objeto de resposta mostrado aqui pode ser reduzido para facilitar a leitura.
Exemplo 2: Criar um álbum
A solicitação para criar um novo álbum de fotos é semelhante, embora dentro da faceta do pacote, a propriedade do álbum seja definida como um valor não nulo.
POST https://graph.microsoft.com/beta/drive/bundles
Content-Type: application/json
{
"name": "My Day at the Beach",
"@microsoft.graph.conflictBehavior" : "rename",
"bundle": { "album": {} },
"children": [
{ "id": "1234asdf" }
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var driveItem = new DriveItem
{
Name = "My Day at the Beach",
Bundle = new Bundle
{
Album = new Album
{
}
},
Children = new DriveItemChildrenCollectionPage()
{
new DriveItem
{
Id = "1234asdf"
}
},
AdditionalData = new Dictionary<string, object>()
{
{"@microsoft.graph.conflictBehavior", "rename"}
}
};
await graphClient.Drive.Bundles
.Request()
.AddAsync(driveItem);
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
DriveItem driveItem = new DriveItem();
driveItem.name = "My Day at the Beach";
driveItem.additionalDataManager().put("@microsoft.graph.conflictBehavior", new JsonPrimitive("rename"));
Bundle bundle = new Bundle();
Album album = new Album();
bundle.album = album;
driveItem.bundle = bundle;
LinkedList<DriveItem> childrenList = new LinkedList<DriveItem>();
DriveItem children = new DriveItem();
children.id = "1234asdf";
childrenList.add(children);
DriveItemCollectionResponse driveItemCollectionResponse = new DriveItemCollectionResponse();
driveItemCollectionResponse.value = childrenList;
DriveItemCollectionPage driveItemCollectionPage = new DriveItemCollectionPage(driveItemCollectionResponse, null);
driveItem.children = driveItemCollectionPage;
graphClient.drive().bundles()
.buildRequest()
.post(driveItem);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
requestBody.SetAdditionalData(map[string]interface{}{
"name": "My Day at the Beach",
"@microsoft.graph.conflictBehavior": "rename",
"children": []Object {
}
}
graphClient.Drive().Bundles().Post(requestBody)
O objeto de resposta mostrado aqui pode ser reduzido para facilitar a leitura.
Se @microsoft.graph.conflictBehavior estiver definido para renomear e um pacote com o mesmo nome já existir, o novo nome do pacote será atualizado para ser exclusivo.
OneDrive anexar um número ao final do nome do pacote.
Por exemplo, My Day at the Beach poderia ser renomeado My Day at the Beach 1.
Se My Day at the Beach 1 for tomada, o número será incrementado novamente até que um nome de pacote exclusivo seja descoberto.