Este documento explica como integrar o Google Picker aos seus apps para computador e dispositivos móveis usando a API Google Picker.
A API Google Picker permite que os usuários selecionem ou façam upload de arquivos do Google Drive. Os usuários podem conceder permissão ao seu app para computador, dispositivos móveis ou Web para acessar os dados do Drive, oferecendo uma maneira segura e autorizada de interagir com os arquivos.
Recursos
O Google Picker tem vários recursos:
- Aparência semelhante à da interface do Google Drive UI.
- Várias visualizações mostrando prévias e miniaturas de arquivos do Drive.
- Visualizações pré-filtradas que mostram apenas tipos de arquivo específicos (como PDFs ou imagens) ou determinadas pastas.
- Um redirecionamento para o Google Picker em uma nova guia no navegador padrão do usuário. Para que a API Google Picker seja aberta em uma página do cliente, use a API Google Picker para apps da Web em vez disso.
Embora seja possível selecionar e fazer upload de arquivos com o Google Picker, ele não permite que os usuários organizem, movam ou copiem arquivos de uma pasta para outra. Para gerenciar arquivos, use a API Google Drive ou a interface do Drive.
Pré-requisitos
Os apps que usam o Google Picker precisam obedecer a todos os Termos de Serviço atuais. O mais importante é que você se identifique corretamente nas solicitações.
Você também precisa ter um projeto do Google Cloud.
Configurar o ambiente
Para começar a usar a API Google Picker, configure seu ambiente.
Ativar a API
Antes de usar as APIs do Google, ative-as em um projeto do Google Cloud. É possível ativar uma ou mais APIs em um único projeto do Google Cloud.No console do Google Cloud, ative a API Google Picker.
Configurar a autenticação e a autorização
Para autenticar usuários finais e acessar dados de usuários no seu app, crie um ou mais IDs do cliente OAuth 2.0. Um ID do cliente é usado para identificar um único app nos servidores OAuth do Google. Se o app for executado em várias plataformas, crie um ID do cliente separado para cada plataforma.Autorizar credenciais para um app para computador
Para criar um ID do cliente OAuth 2.0, siga estas etapas:
- No console do Google Cloud, acesse Menu > Plataforma de autenticação do Google > Clientes.
- Clique em Criar cliente.
- Clique em Tipo de aplicativo > Selecione o tipo de aplicativo recomendado para seu app.
- No campo Nome, digite um nome para a credencial. Esse nome só é mostrado no console do Google Cloud.
- Clique em Criar.
A credencial recém-criada aparece em "IDs do cliente OAuth 2.0".
Para que os apps recebam autorização para arquivos concedidos anteriormente, siga estas etapas:
Você precisa receber um token OAuth 2.0 com o escopo
drive.file,driveoudrive.readonlyusando estas instruções: Usar o OAuth 2.0 para acessar as APIs do Google. Para mais informações sobre escopos, consulte Escolher escopos da API Google Drive scopes.Transmita o token OAuth 2.0 para a API Drive para ler e modificar arquivos em que o usuário concedeu acesso anteriormente.
Autorizar credenciais para seu app para dispositivos móveis
Para criar um ID do cliente OAuth 2.0, siga as etapas em Autorizar credenciais para um app para dispositivos móveis.
Autorizar credenciais para seu app da Web
Para criar um ID do cliente OAuth 2.0, siga as etapas em Autorizar credenciais para um app da Web.
Mostrar o Google Picker
A API Google Picker para apps para computador e dispositivos móveis redireciona para o Google Picker em uma nova guia no navegador padrão do usuário. Depois que o usuário concede acesso e escolhe os arquivos relevantes, o Google Picker retorna ao app de chamada pelo URL de callback.
-
Autentique seu app acionando o Google Picker.
-
Faça login com o Google e conceda as permissões solicitadas.
-
Navegue pelos arquivos do Google Drive no Google Picker e selecione o item desejado.
-
Confirme sua seleção e toque em "Inserir" para adicionar o arquivo ao app.
Integrar o Google Picker ao seu app
Para permitir que os usuários concedam acesso a outros arquivos ou escolham arquivos para uso no fluxo do app, siga estas etapas:
Solicite acesso ao escopo
drive.filepara abrir a página de acesso do OAuth 2.0 em uma nova guia do navegador usando estas instruções: Usar o OAuth 2.0 para acessar as APIs do Google. Para mais informações sobre escopos, consulte Escolher escopos da API Google Drive scopes.Somente o escopo
drive.fileé permitido para esses apps, e ele não pode ser combinado com nenhum outro escopo.O URL da nova guia do navegador aceita todos os parâmetros de string de consulta OAuth padrão.
Anexe os parâmetros de URL
promptetrigger_onepickà solicitação de URL de autorização do OAuth 2.0. Opcionalmente, você também pode personalizar o Google Picker com vários outros parâmetros:Parâmetro Descrição Status prompt=consentSolicitar acesso ao arquivo. Obrigatório trigger_onepick=trueAtivar o Google Picker. Obrigatório allow_multiple=trueSe verdadeiro, permite que o usuário selecione vários arquivos. Opcional mimetypes=MIMETYPESUma lista separada por vírgulas de tipos MIME para filtrar os resultados da pesquisa. Se não estiver definido, os arquivos de todos os tipos MIME serão mostrados na visualização. Opcional file_ids=FILE_IDSUma lista separada por vírgulas de IDs de arquivo para filtrar os resultados da pesquisa. Se não estiver definido, todos os arquivos serão mostrados na visualização. Opcional allow_folder_selection=trueSe verdadeiro, permite que o usuário também selecione pastas. Opcional O exemplo a seguir mostra uma solicitação de URL de autorização do OAuth 2.0:
https://accounts.google.com/o/oauth2/v2/auth? \ client_id=CLIENT_ID \ &scope=https://www.googleapis.com/auth/drive.file \ &redirect_uri=REDIRECT_URI \ &response_type=code \ &access_type=offline \ &prompt=consent \ &trigger_onepick=trueSubstitua:
CLIENT_ID: o ID do cliente do seu app.REDIRECT_URI: para onde o servidor de autorização redireciona o navegador do usuário após a autenticação bem-sucedida. Por exemplo,https://www.cymbalgroup.com/oauth2callback.Selecione um
redirect_urique funcione com o tipo de aplicativo e a configuração do OAuth. O Google Picker não impõe restrições adicionais.
Depois que o usuário concede acesso e escolhe os arquivos relevantes, o OAuth redireciona para o
redirect_uriespecificado na solicitação com os seguintes parâmetros de URL anexados:picked_file_ids: se o usuário concedeu acesso e escolheu arquivos, uma lista separada por vírgulas de IDs de arquivo selecionados.code: o token de acesso ou o código de acesso com base noresponse_typeparâmetro definido na solicitação. Esse parâmetro inclui um novo código de autorização.scope: os escopos incluídos na solicitação.error: se o usuário cancelou a solicitação no fluxo de consentimento, um erro será mostrado.
O exemplo a seguir mostra uma resposta de URL de autorização do OAuth 2.0:
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESOs apps precisam trocar o código de autorização da etapa 3 por um novo token OAuth 2.0. Para mais informações, consulte Trocar o código de autorização por tokens de atualização e acesso.
Os apps podem usar os IDs de arquivo do parâmetro de URL na etapa 3 e o token OAuth 2.0 recebido na etapa 4 para chamar a API Drive. Confira mais detalhes em Visão geral da API Google Drive overview.
Usar o Google Picker com apps Android
Você também pode usar o Google Picker nos seus apps Android para dispositivos móveis.
Autorizar credenciais para um app para dispositivos móveis
Para usar o Google Picker no seu app Android, autorize os usuários usando o OAuth 2.0, semelhante aos apps para computador. Para detalhes sobre a autenticação do Android, consulte Autorizar o acesso aos dados do usuário do Google.
Para mostrar o Google Picker durante a autorização, crie um
AuthorizationRequest
e use o parâmetro de recurso PICKER_OAUTH_TRIGGER no objeto
AuthorizationRequest.ResourceParameter.
Ao criar a AuthorizationRequest:
Use o escopo
drive.file.Chame
setOptOutIncludingGrantedScopesparatruepara garantir que o token retornado seja apenas para o escopodrive.filee não para nenhum escopo concedido anteriormente.Defina o
AuthorizationRequest.Promptcampo comoCONSENTpara solicitar o consentimento do usuário, mesmo que ele tenha sido concedido antes.Opcionalmente, você também pode usar o operador bitmap "OR" (
|) para definir o campoAuthorizationRequest.PromptcomoSELECT_ACCOUNTpara permitir que o usuário selecione uma conta antes que a solicitação de consentimento seja mostrada.
Chamar o Google Picker
Semelhante aos apps para computador, você pode personalizar o Google Picker com vários parâmetros opcionais:
PICKER_ALLOW_MULTIPLE: permite que os usuários selecionem vários arquivos.PICKER_MIMETYPES: aceita uma lista separada por vírgulas de tipos MIME para filtrar os resultados da pesquisa. Se não estiver definido, os arquivos de todos os tipos MIME serão mostrados na visualização.PICKER_FILE_IDS: aceita uma lista separada por vírgulas de IDs de arquivo para filtrar os resultados da pesquisa. Se não estiver definido, todos os arquivos serão mostrados na visualização.PICKER_ALLOW_FOLDER_SELECTION: permite que os usuários também escolham pastas.
Para mais informações sobre os parâmetros opcionais em apps para computador, consulte Mostrar o Google Picker.
Depois que o usuário concede acesso e escolhe os arquivos relevantes, o
getTokenResponseParams
objeto do
AuthorizationResult
recurso é retornado. Se o usuário concedeu acesso, esse objeto contém o valor picked_file_ids, que é uma lista separada por vírgulas de IDs de arquivo selecionados.