O componente da Web do Google Picker oferece outra maneira de integrar a API Google Picker aos seus apps da Web.
O componente da Web simplifica a integração da seleção de arquivos do Google Drive aos seus
apps da Web. Ele encapsula toda a lógica de autenticação e carregamento da API boilerplate em
um único elemento HTML. Ele permite inserir uma tag <drive-picker> diretamente no código sem precisar escrever a lógica de carregamento gapi. Ele pode ser usado em HTML e JavaScript simples e também é independente de framework, funcionando perfeitamente com Svelte, Vue, Angular e muito mais.
Para mais informações sobre a biblioteca de componentes da Web, consulte
@googleworkspace/drive-picker-element.
Para apps React, use o pacote wrapper oficial do React do componente da Web:
@googleworkspace/drive-picker-react.
Principais recursos
- Integração simples:adicione o Google Picker aos seus apps da Web com algumas linhas de código.
- Independente de framework:funciona perfeitamente com qualquer framework da Web que você escolher (React, Vue, Angular etc.).
- Código aberto e personalizável:o código está disponível sem custo financeiro, e você pode personalizá-lo para atender às suas necessidades específicas.
- Suporte perfeito ao OAuth:lida com a autenticação do usuário automaticamente, proporcionando uma experiência tranquila.
- Visualizações personalizáveis:configure o Google Picker para mostrar apenas os tipos de arquivo ou visualizações que você precisa definindo atributos.
Primeiros passos
Instale o componente usando NPM ou similar:
npm i @googleworkspace/drive-picker-elementUma versão de CDN também está disponível. Para conferir os formatos e versões disponíveis, consulte
unpkg.<script src="https://unpkg.com/@googleworkspace/drive-picker-element@latest/dist/index.iife.min.js"></script>Importe os componentes
@googleworkspace/drive-picker-elementpara seu arquivo JavaScript:import "@googleworkspace/drive-picker-element";A importação não é necessária se você estiver usando a versão da CDN, porque ela carrega automaticamente a biblioteca do Google Picker e a biblioteca de cliente da API do Google usada para autenticação.
Adicione os elementos personalizados ao arquivo HTML:
<drive-picker> <drive-picker-docs-view></drive-picker-docs-view> </drive-picker>Para atributos e propriedades de
<drive-picker/>e<drive-picker-docs-view/>, consulte a documentação de referência do@googleworkspace/drive-picker-element.
Eventos
O elemento <drive-picker/> envia os seguintes eventos personalizados:
| Evento | Descrição |
|---|---|
picker-picked |
Acionado quando o usuário seleciona um ou mais itens. |
picker-canceled |
Disparado quando o usuário cancela a seleção clicando no botão "Cancelar" ou fechando a caixa de diálogo sem fazer uma seleção. |
picker-error |
Disparado quando ocorre um erro durante a inicialização ou a seleção de arquivos. |
Para mais informações sobre eventos, consulte a documentação do
@googleworkspace/drive-picker-element
no NPM.
Detalhes do evento
Para o evento picker-picked, o detalhe do evento contém o ResponseObject completo do
Google Picker.
{
"type": "picker-picked",
"detail": {
"action": "PICKED",
"docs": [
{
"id": ID,
"mimeType": "application/pdf",
"name": NAME,
"url": "https://drive.google.com/file/d/ID/view?usp=drive_web",
"sizeBytes": 12345
}
]
}
}
As propriedades usadas com frequência no objeto de resposta são:
action: a ação que acionou o callback (por exemplo,PICKED).docs: uma matriz deDocumentObjects selecionados pelo usuário. Cada objeto contém propriedades como:
Para o evento picker-error, event.detail contém um objeto de erro ou uma string
que descreve a falha (por exemplo, ERR_USER_NOT_AUTHENTICATED).
Exemplos
Os exemplos de código a seguir mostram como usar o componente da Web do Google Picker para casos de uso comuns. Para cada exemplo de código, substitua:
PROMPT: uma lista delimitada por espaços e sensível a maiúsculas e minúsculas de solicitações de autorização da Conta do Google para apresentar ao usuário. Para mais informações, consulte
TokenClientConfig.prompt.ORIGIN: o parâmetro de origem do seletor. Por exemplo,
https://developers.google.com. Para mais informações, consulte o métodoPickerBuilder.setOrigin.APP_ID: o ID do app Drive. Para mais informações, consulte o método
PickerBuilder.setAppId.CLIENT_ID: o ID do cliente OAuth 2.0. Para mais informações, consulte Como usar o OAuth 2.0 para acessar as APIs do Google.
Arquivos PDF
Filtra a visualização para mostrar apenas arquivos PDF usando o atributo mime-types.
<drive-picker
prompt="PROMPT"
origin="ORIGIN"
app-id="APP_ID"
client-id="CLIENT_ID"
>
<drive-picker-docs-view mime-types="application/pdf"></drive-picker-docs-view>
</drive-picker>
Arquivos de imagem e vídeo
Filtra a visualização para mostrar apenas arquivos de imagem (JPEG, PNG) e vídeo (MP4, QuickTime) usando o atributo mime-types.
<drive-picker
prompt="PROMPT"
origin="ORIGIN"
app-id="APP_ID"
client-id="CLIENT_ID"
>
<drive-picker-docs-view mime-types="image/jpeg,image/png,video/mp4,video/quicktime"></drive-picker-docs-view>
</drive-picker>
Arquivos de minha propriedade
Filtra a visualização para mostrar apenas os arquivos pertencentes ao usuário atual usando o atributo owned-by-me.
<drive-picker
prompt="PROMPT"
origin="ORIGIN"
app-id="APP_ID"
client-id="CLIENT_ID"
>
<drive-picker-docs-view owned-by-me="true"></drive-picker-docs-view>
</drive-picker>
Consultar arquivos sem título
Filtra a visualização para mostrar arquivos que correspondem à consulta de pesquisa "Sem título" usando o atributo query.
<drive-picker
prompt="PROMPT"
origin="ORIGIN"
app-id="APP_ID"
client-id="CLIENT_ID"
>
<drive-picker-docs-view query="Untitled"></drive-picker-docs-view>
</drive-picker>
Arquivos com estrela
Filtra a visualização para mostrar apenas arquivos marcados com estrela usando o atributo starred.
<drive-picker
prompt="PROMPT"
origin="ORIGIN"
app-id="APP_ID"
client-id="CLIENT_ID"
>
<drive-picker-docs-view starred="true"></drive-picker-docs-view>
</drive-picker>
Temas relacionados
- Para informações detalhadas sobre atributos, eventos e propriedades, consulte a documentação completa de
drive-picker-elementno GitHub.