Registar permissões de aplicação do tipo contentor de armazenamento de ficheiros
Para que uma aplicação Do SharePoint Embedded interaja com contentores num inquilino consumidor, o tipo de contentor tem primeiro de ser registado no inquilino que consome. O registo do tipo de contentor ocorre quando a aplicação proprietária invoca a API de registo para especificar as permissões que podem ser efetuadas no respetivo tipo de contentor. A API de registo também concede acesso a outras Aplicações Convidadas para interagir com os contentores da aplicação proprietária. Por exemplo, uma aplicação Do SharePoint Embedded pode conceder permissões a outra aplicação – uma Aplicação Convidada para que a Aplicação Convidada possa realizar operações de cópia de segurança nos respetivos contentores.
Uma vez que a API de registo controla as permissões que uma aplicação Do SharePoint Embedded pode executar no contentor no inquilino que consome, esta chamada deve ser uma das primeiras APIs invocadas. Se não o fizer, ocorrem erros de acesso negado ao invocar outras APIs contra o contentor e/ou o conteúdo nos contentores.
Não existem restrições sobre quantas vezes a API de registo pode ser invocada. A frequência com que a API de registo é invocada e quando é invocada depende da aplicação SharePoint Embedded. No entanto, a última chamada bem-sucedida à API de registo determina as definições utilizadas no inquilino que está a consumir.
Observação
Apenas a aplicação proprietária do tipo de contentor pode invocar a API de registo no inquilino que está a consumir.
A API de registo NÃO é uma API do Graph e só pode ser invocada através de um token de acesso baseado em certificado e appOnly. Saiba mais sobre a autenticação.
Permissões do tipo de contentor
A API de registo determina as permissões que uma aplicação Do SharePoint Embedded pode executar em contentores e conteúdos em contentores para o tipo de contentor especificado.
Permissão | Descrição |
---|---|
Nenhum | Não tem permissões para quaisquer contentores ou conteúdos deste tipo de contentor. |
ReadContent | Pode ler o conteúdo de contentores deste tipo de contentor. |
WriteContent | Pode escrever conteúdo em contentores para este tipo de contentor. Esta permissão não pode ser concedida sem a permissão ReadContent. |
Criar | Pode criar contentores deste tipo de contentor. |
Excluir | Pode eliminar contentores deste tipo de contentor. |
Leitura | Pode ler os metadados dos contentores deste tipo de contentor. |
Gravar | Pode atualizar os metadados dos contentores deste tipo de contentor. |
EnumeratePermissions | Pode enumerar os membros de um contentor e as respetivas funções para contentores deste tipo de contentor. |
AddPermissions | Pode adicionar membros ao contentor para contentores deste tipo de contentor. |
UpdatePermissions | Pode atualizar (alterar funções de) associações existentes no contentor para contentores deste tipo de contentor. |
DeletePermissions | Pode eliminar outros membros (mas não o próprio) do contentor para contentores deste tipo de contentor. |
DeleteOwnPermissions | Pode remover a associação própria do contentor para contentores deste tipo de contentor. |
ManagePermissions | Pode adicionar, remover (incluindo o próprio) ou atualizar membros nas funções de contentor para contentores deste tipo de contentor. |
Inteiro | Tem todas as permissões para contentores deste tipo de contentor. |
Solicitação HTTP
PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Observação
Esta não é uma API do Graph
{RootSiteURL}
é o URL do SharePoint do inquilino que está a consumir. Por exemplo, https://contoso.sharepoint.com.
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON das permissões do tipo de contentor para as aplicações Do SharePoint Embedded.
Resposta
Se for bem-sucedido, este método devolve um 200 OK
código de resposta e as permissões de tipo de contentor configuradas para as aplicações Do SharePoint Embedded no corpo da resposta.
Código HTTP | Descrição |
---|---|
400 | Solicitação incorreta. |
401 | O pedido não tem credenciais de autenticação válidas. |
403 | As credenciais de autenticação fornecidas são válidas, mas insuficientes para efetuar a operação pedida. Exemplos: a aplicação de chamada não é a aplicação proprietária do tipo de contentor. |
404 | O tipo de contentor não existe. |
Exemplos
Registar o tipo de contentor num inquilino que está a consumir
Registe o tipo de contentor no inquilino que está a consumir e conceda permissões completas à Aplicação Proprietária (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) para chamadas Delegadas e AppOnly.
Solicitação
PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
}
]
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
}
]
}
Registar o tipo de contentor num inquilino consumidor com permissões para uma Aplicação Convidada
Registe o tipo de contentor no inquilino que está a consumir e conceda permissões completas à Aplicação Proprietária (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) para chamadas Delegadas e AppOnly. Além disso, conceda a uma Aplicação Convidada (AppId 89ea5c94-7736-4e25-95ad-3fa95f62b6) permissões de leitura e escrita apenas para chamadas delegadas.
Solicitação
PUT /storagecontainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
},
{
"appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
"delegated": ["read", "write"],
"appOnly": ["none"]
}
]
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["read"]
},
{
"appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
"delegated": ["read", "write"],
"appOnly": ["none"]
}
]
}