Quando um usuário clica no botão "Novo" da IU do Drive e seleciona um app nela, o Drive redireciona o usuário para o novo URL do app, definido em Configurar uma integração com a interface do Drive.
Seu 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 IU do Drive.- FOLDER_ID: o ID da pasta mãe.
- FOLDER_RESOURCE_KEY: a chave de recurso da pasta pai.
- USER_ID: o ID do perfil que identifica exclusivamente o usuário.
Seu app precisa agir de acordo com essa solicitação, seguindo estas etapas:
- Verifique se o campo
action
tem um 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
tiver sido definido na solicitação, defina o campoparents
como o valorfolderId
. - Se
folderResourceKey
tiver sido definido na solicitação, defina o cabeçalho da solicitaçãoX-Goog-Drive-Resource-Keys
. Para mais informações sobre chaves de recurso, consulte Acessar arquivos compartilhados por link usando chaves de recurso.
O parâmetro state
é codificado para URL. Portanto, seu app precisa processar os caracteres de escape e analisá-los como JSON.
Usuários e novos eventos
Os apps do Drive precisam tratar todos os eventos "create" 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.