REST Resource: permissions

Recurso: permissão

Uma permissão para um arquivo. Uma permissão concede a um usuário, grupo, domínio ou todos o acesso a um arquivo ou uma hierarquia de pastas.

Por padrão, as solicitações de permissões retornam apenas um subconjunto de campos. O tipo, o ID, o tipo e a função da permissão são sempre retornados. Para recuperar campos específicos, consulte https://developers.google.com/drive/api/guides/fields-parameter.

Alguns métodos de recurso (como permissions.update) exigem um permissionId. Use o método permissions.list para extrair o ID de um arquivo, pasta ou drive compartilhado.

Representação JSON
{
  "id": string,
  "displayName": string,
  "type": string,
  "kind": string,
  "permissionDetails": [
    {
      "permissionType": string,
      "inheritedFrom": string,
      "role": string,
      "inherited": boolean
    }
  ],
  "photoLink": string,
  "emailAddress": string,
  "role": string,
  "allowFileDiscovery": boolean,
  "domain": string,
  "expirationTime": string,
  "teamDrivePermissionDetails": [
    {
      "teamDrivePermissionType": string,
      "inheritedFrom": string,
      "role": string,
      "inherited": boolean
    }
  ],
  "deleted": boolean,
  "view": string,
  "pendingOwner": boolean
}
Campos
id

string

Apenas saída. O ID dessa permissão. É um identificador exclusivo do beneficiário e é publicado nos recursos do usuário como permissionId. Os IDs precisam ser tratados como valores opacos.

displayName

string

Apenas saída. O nome "bonito" do valor da permissão. Confira a seguir uma lista de exemplos para cada tipo de permissão:

  • user: nome completo do usuário, conforme definido para a Conta do Google, como "João Silva".
  • group: nome do grupo do Google, como "Administradores da empresa".
  • domain: nome de domínio de string, como "thecompany.com".
  • anyone: nenhum displayName está presente.
type

string

O tipo de beneficiário. Os valores válidos são:

  • user
  • group
  • domain
  • anyone

Ao criar uma permissão, se type for user ou group, você precisará fornecer um emailAddress para o usuário ou grupo. Quando type for domain, você precisará fornecer um domain. Não são necessárias informações extras para um tipo anyone.

kind

string

Apenas saída. Identifica o tipo de recurso. Valor: a string fixa "drive#permission".

permissionDetails[]

object

Apenas saída. Detalhes sobre se as permissões no item do drive compartilhado são herdadas ou estão diretamente no item. Este é um campo somente saída que só aparece para itens de drive compartilhado.

permissionDetails[].permissionType

string

Apenas saída. O tipo de permissão do usuário. Novos valores podem ser adicionados no futuro, mas atualmente é possível usar o seguinte:

  • file
  • member
permissionDetails[].inheritedFrom

string

Apenas saída. O ID do item de onde essa permissão é herdada. Este é um campo somente saída.

permissionDetails[].role

string

Apenas saída. A função principal do usuário. Novos valores podem ser adicionados no futuro, mas atualmente é possível fazer o seguinte:

  • organizer
  • fileOrganizer
  • writer
  • commenter
  • reader
permissionDetails[].inherited

boolean

Apenas saída. Se essa permissão é herdada. Esse campo é sempre preenchido. Este é um campo somente saída.

emailAddress

string

O endereço de e-mail do usuário ou grupo a que esta permissão se refere.

role

string

O papel concedido pela permissão. Embora novos valores possam ser aceitos no futuro, os seguintes são permitidos no momento:

  • owner
  • organizer
  • fileOrganizer
  • writer
  • commenter
  • reader
allowFileDiscovery

boolean

Define se a permissão permite que o arquivo seja descoberto pela pesquisa. Isso é aplicável apenas para permissões do tipo domain ou anyone.

domain

string

O domínio a que esta permissão se refere.

expirationTime

string

O horário de expiração da permissão (data e hora RFC 3339). Os tempos de expiração têm as seguintes restrições:

  • Elas só podem ser definidas nas permissões de usuários e grupos.
  • O horário precisa estar no futuro.
  • O horário não pode ser mais de um ano no futuro.
teamDrivePermissionDetails[]
(deprecated)

object

Apenas saída. Descontinuado: somente saída. Use permissionDetails.

teamDrivePermissionDetails[]
(deprecated).teamDrivePermissionType
(deprecated)

string

Descontinuado: somente saída. Use permissionDetails/permissionType.

teamDrivePermissionDetails[]
(deprecated).inheritedFrom
(deprecated)

string

Descontinuado: somente saída. Use permissionDetails/inheritedFrom.

teamDrivePermissionDetails[]
(deprecated).role
(deprecated)

string

Descontinuado: somente saída. Use permissionDetails/role.

teamDrivePermissionDetails[]
(deprecated).inherited
(deprecated)

boolean

Descontinuado: somente saída. Use permissionDetails/inherited.

deleted

boolean

Apenas saída. Se a conta associada a essa permissão foi excluída. Esse campo se aplica apenas às permissões de usuários e grupos.

view

string

Indica a visualização para essa permissão. Preenchido apenas para permissões que pertencem a uma visualização. "publicado" é o único valor aceito.

pendingOwner

boolean

Se a conta associada a essa permissão é um proprietário pendente. Só é preenchido para permissões do tipo user para arquivos que não estão em um drive compartilhado.

Métodos

create

Cria uma permissão para um arquivo ou drive compartilhado.

delete

Exclui uma permissão.

get

Recebe uma permissão por ID.

list

Lista as permissões de um arquivo ou drive compartilhado.

update

Atualiza uma permissão com semântica de patch.