Quando um usuário clica no botão "Novo" da interface do Drive e seleciona um app nessa interface, o Drive redireciona o usuário para o novo URL desse app definido em Configurar uma integração de interface do Drive.
O app recebe um conjunto padrão de variáveis de modelo em um parâmetro
state
. As informações padrão de state
para um novo URL são:
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
Esta saída inclui os seguintes valores:
create
: a ação que está sendo realizada. O valor écreate
quando um usuário clica no botão "Novo" da interface do Drive.- FOLDER_ID: o ID da pasta pai.
- FOLDER_RESOURCE_KEY: a chave de recurso da pasta pai.
- USER_ID: o ID do perfil que identifica exclusivamente o usuário.
Para atender a essa solicitação, o app precisa seguir estas etapas:
- Verifique se o campo
action
tem o valorcreate
. - Use o valor
userId
para criar uma nova sessão para o usuário. Para mais informações sobre usuários conectados, consulte Usuários e novos eventos. - Use o método
files.create
para criar um recurso de arquivo. SefolderId
foi definido na solicitação, defina o campoparents
como o valorfolderId
. - Se
folderResourceKey
tiver sido definido na solicitação, defina o cabeçalhoX-Goog-Drive-Resource-Keys
. Para mais informações sobre chaves de recursos, consulte Acessar arquivos compartilhados por link usando chaves de recurso.
O parâmetro state
é codificado em URL. Portanto, seu app precisa processar os caracteres de
escape e analisar como JSON.
Usuários e novos eventos
Os apps do Drive precisam tratar todos os eventos de "criação" como possíveis
logins. Alguns usuários podem ter várias contas. Portanto, o ID do usuário no parâmetro state
pode não corresponder à sessão atual. Se o ID do usuário no parâmetro state
não corresponder à sessão atual, encerre a sessão atual do
app e faça login como o usuário solicitado.