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

Quando um usuário clica no botão "Novo" da interface do Drive e seleciona um app na interface do Drive, o Drive redireciona o usuário para o novo URL do app definido em Configurar uma integração da 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 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.

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 que fizeram login, 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 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 em URL, então 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 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.