Registrar permissões de aplicativo de tipo de contêiner de armazenamento de arquivos
Para que um aplicativo Do SharePoint Embedded interaja com contêineres em um locatário consumidor, o tipo de contêiner deve primeiro ser registrado no locatário consumidor. O registro de tipo de contêiner acontece quando o aplicativo proprietário invoca a API de registro para especificar quais permissões podem ser executadas em relação ao seu tipo de contêiner. A API de registro também concede acesso a outros Aplicativos Convidados para interagir com os contêineres do aplicativo proprietário. Por exemplo, um aplicativo Do SharePoint Embedded pode conceder permissões a outro aplicativo — um aplicativo convidado para que o Aplicativo Convidado possa executar operações de backup em seus contêineres.
Como a API de registro controla as permissões que um aplicativo Do SharePoint Embedded pode executar em relação ao contêiner no locatário consumidor, essa chamada deve ser uma das primeiras APIs invocadas. A falha ao fazer isso resulta em erros negados de acesso ao invocar outras APIs no contêiner e/ou no conteúdo nos contêineres.
Não há restrições sobre quantas vezes a API de registro pode ser invocada. Com que frequência a API de registro é invocada e quando é invocada depende do aplicativo SharePoint Embedded. No entanto, a última chamada bem-sucedida para a API de registro determina as configurações usadas no locatário consumidor.
Observação
Somente o aplicativo proprietário do tipo de contêiner pode invocar a API de registro no locatário consumidor.
A API de registro NÃO é uma API do Graph e só pode ser invocada usando um AppOnly e um token de acesso baseado em certificação. Saiba mais sobre autenticação.
Permissões de tipo de contêiner
A API de registro determina quais permissões um aplicativo Do SharePoint Embedded pode executar em contêineres e conteúdo em contêineres para o tipo de contêiner especificado.
Permissão | Descrição |
---|---|
Nenhum | Não tem permissões para nenhum contêiner ou conteúdo desse tipo de contêiner. |
ReadContent | Pode ler o conteúdo de contêineres desse tipo de contêiner. |
WriteContent | Pode gravar conteúdo em contêineres para esse tipo de contêiner. Essa permissão não pode ser concedida sem a permissão ReadContent. |
Criar | Pode criar contêineres desse tipo de contêiner. |
Excluir | Pode excluir contêineres desse tipo de contêiner. |
Leitura | Pode ler os metadados de contêineres desse tipo de contêiner. |
Gravar | Pode atualizar os metadados de contêineres desse tipo de contêiner. |
EnumeratePermissions | Pode enumerar os membros de um contêiner e suas funções para contêineres desse tipo de contêiner. |
AddPermissions | Pode adicionar membros ao contêiner para contêineres desse tipo de contêiner. |
UpdatePermissions | Pode atualizar (alterar funções de) associações existentes no contêiner para contêineres desse tipo de contêiner. |
DeletePermissions | Pode excluir outros membros (mas não auto) do contêiner para contêineres desse tipo de contêiner. |
DeleteOwnPermissions | Pode remover a própria associação do contêiner para contêineres desse tipo de contêiner. |
ManagePermissions | Pode adicionar, remover (incluindo auto) ou atualizar membros nas funções de contêiner para contêineres desse tipo de contêiner. |
Inteiro | Tem todas as permissões para contêineres desse tipo de contêiner. |
Solicitação HTTP
PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Observação
Este não é um API do Graph
{RootSiteURL}
é a URL do SharePoint do locatário consumidor. Por exemplo, https://contoso.sharepoint.com.
Corpo da solicitação
No corpo da solicitação, forneça uma representação JSON das permissões de tipo de contêiner para os aplicativos Do SharePoint Embedded.
Resposta
Se for bem-sucedido, esse método retornará um 200 OK
código de resposta e as permissões de tipo de contêiner configuradas para os aplicativos Do SharePoint Embedded no corpo da resposta.
Código HTTP | Descrição |
---|---|
400 | Solicitação incorreta. |
401 | A solicitação carece de credenciais de autenticação válidas. |
403 | As credenciais de autenticação fornecidas são válidas, mas insuficientes para executar a operação solicitada. Exemplos: o aplicativo de chamada não é o aplicativo proprietário do tipo de contêiner. |
404 | O tipo de contêiner não existe. |
Exemplos
Registrar o tipo de contêiner em um locatário consumidor
Registre o tipo de contêiner no locatário consumidor e conceda permissões completas ao Aplicativo de Propriedade (AppId 71392b2f-1765-406e-86af-5907d9bdbdb2ab) 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"]
}
]
}
Registrar o tipo de contêiner em um locatário consumidor com permissões para um aplicativo convidado
Registre o tipo de contêiner no locatário consumidor e conceda permissões completas ao Aplicativo de Propriedade (AppId 71392b2f-1765-406e-86af-5907d9bdbdb2ab) para chamadas Delegadas e AppOnly. Além disso, conceda um aplicativo convidado (AppId 89ea5c94-7736-4e25-95ad-3fa95f62b6) permissões de leitura e gravação 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"]
}
]
}