Integrar com o botão "Novo" da IU do Drive

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:

  1. Verifique se o campo action tem um valor create.
  2. 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.
  3. Use o método files.create para criar um recurso de arquivo. Se folderId tiver sido definido na solicitação, defina o campo parents como o valor folderId.
  4. Se folderResourceKey tiver sido definido na solicitação, defina o cabeçalho da solicitação X-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.