REST Resource: permissions

Recurso: permissão

Uma permissão para um arquivo. Uma permissão concede a um usuário, grupo, domínio ou ao mundo acesso a um arquivo ou uma hierarquia de pastas. Para mais informações, consulte Compartilhar arquivos, pastas e drives.

Por padrão, as solicitações de permissão retornam apenas um subconjunto de campos. Os campos kind, ID, type e role da permissão são sempre retornados. Para recuperar campos específicos, consulte Retornar campos específicos.

Alguns métodos de recursos (como permissions.update) exigem um permissionId. Use o método permissions.list para recuperar 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,
  "inheritedPermissionsDisabled": boolean
}
Campos
id

string

Apenas saída. O ID dessa permissão. Este é um identificador exclusivo do beneficiário e é publicado no recurso 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. Esta é uma lista de exemplos para cada tipo de permissão:

  • user - nome completo do usuário, conforme definido para a Conta do Google, como "Dana A."
  • group: nome do Grupo do Google, como "Os administradores da empresa".
  • domain - nome de domínio de string, como "cymbalgroup.com".
  • anyone: nenhum displayName está presente.
type

string

O tipo do beneficiário. Os valores aceitos 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. Se type for domain, você precisará fornecer um domain. Se type for anyone, nenhuma informação extra será necessária.

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 nesse item são herdadas ou estão diretamente nele.

permissionDetails[].permissionType

string

Apenas saída. O tipo de permissão para esse usuário. Os valores aceitos são:

  • file
  • member
permissionDetails[].inheritedFrom

string

Apenas saída. O ID do item de onde essa permissão é herdada. Esse campo só é preenchido para itens em drives compartilhados.

permissionDetails[].role

string

Apenas saída. A função principal desse usuário. Os valores aceitos são:

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

Para mais informações, consulte Papéis e permissões.

permissionDetails[].inherited

boolean

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

emailAddress

string

Apenas saída. 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. Os valores aceitos são:

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

Para mais informações, consulte Papéis e permissões.

allowFileDiscovery

boolean

Define se a permissão permite que o arquivo seja descoberto por meio da pesquisa. Isso só é aplicável a permissões do tipo domain ou anyone.

domain

string

Apenas saída. O domínio a que essa permissão se refere.

expirationTime

string

O horário em que essa permissão vai expirar (data e hora RFC 3339). Os horários de expiração têm as seguintes restrições:

  • Só podem ser definidos em permissões de usuário e grupo.
  • O horário precisa ser no futuro.
  • O horário não pode ser mais de um ano no futuro.
teamDrivePermissionDetails[]
(deprecated)

object

Apenas saída. Obsoleto: apenas saída. Use permissionDetails.

teamDrivePermissionDetails[]
(deprecated).teamDrivePermissionType
(deprecated)

string

Obsoleto: apenas saída. Use permissionDetails/permissionType.

teamDrivePermissionDetails[]
(deprecated).inheritedFrom
(deprecated)

string

Obsoleto: apenas saída. Use permissionDetails/inheritedFrom.

teamDrivePermissionDetails[]
(deprecated).role
(deprecated)

string

Obsoleto: apenas saída. Use permissionDetails/role.

teamDrivePermissionDetails[]
(deprecated).inherited
(deprecated)

boolean

Obsoleto: apenas saída. Use permissionDetails/inherited.

deleted

boolean

Apenas saída. Indica se a conta associada a essa permissão foi excluída. Esse campo se refere apenas a permissões do tipo user ou group.

view

string

Indica a visualização dessa permissão. Preenchido apenas para permissões que pertencem a uma visualização.

Os únicos valores aceitos são published e metadata:

  • published: o papel da permissão é publishedReader.
  • metadata: o item só fica visível na visualização metadata porque tem acesso limitado e o escopo tem pelo menos acesso de leitura ao pai. A visualização metadata só é aceita em pastas.

Para mais informações, consulte Visualizações.

pendingOwner

boolean

Indica se a conta associada a essa permissão é um proprietário pendente. Preenchido apenas para permissões do tipo user para arquivos que não estão em um drive compartilhado.

inheritedPermissionsDisabled

boolean

Quando true, somente organizadores, proprietários e usuários com permissões adicionadas diretamente ao item podem acessá-lo.

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.