Komponent internetowy Google Picker to dodatkowy sposób na zintegrowanie interfejsu Google Picker API z aplikacjami internetowymi.
Komponent internetowy ułatwia integrowanie wyboru plików z Dysku Google z aplikacjami internetowymi. Zawiera ona całą standardową logikę wczytywania interfejsu API i uwierzytelniania w jednym elemencie HTML. Umożliwia umieszczenie tagu <drive-picker> bezpośrednio w kodzie bez konieczności pisania logiki wczytywania gapi. Można go używać w zwykłym HTML-u i JavaScript, a także w dowolnej architekturze, ponieważ działa bezproblemowo z Svelte, Vue, Angular i innymi.
Więcej informacji o bibliotece komponentów internetowych znajdziesz w artykule @googleworkspace/drive-picker-element.
W przypadku aplikacji React użyj oficjalnego pakietu React wrapper komponentu internetowego:@googleworkspace/drive-picker-react.
Najważniejsze funkcje
- Prosta integracja: dodaj selektor Google do aplikacji internetowych za pomocą kilku wierszy kodu.
- Niezależność od platformy: działa bezproblemowo z dowolną wybraną platformą internetową (React, Vue, Angular itp.).
- Oprogramowanie open source z możliwością dostosowania: kod jest dostępny bezpłatnie i możesz go dostosować do swoich potrzeb.
- Bezproblemowa obsługa OAuth: automatycznie obsługuje uwierzytelnianie użytkowników, zapewniając im wygodę.
- Widoki z możliwością dostosowania: skonfiguruj selektor Google tak, aby wyświetlał tylko potrzebne typy plików lub widoki, ustawiając atrybuty.
Rozpocznij
Zainstaluj komponent za pomocą NPM lub podobnego narzędzia:
npm i @googleworkspace/drive-picker-elementDostępna jest też wersja CDN. Dostępne formaty i wersje znajdziesz w
unpkg.<script src="https://unpkg.com/@googleworkspace/drive-picker-element@latest/dist/index.iife.min.js"></script>Zaimportuj komponenty
@googleworkspace/drive-picker-elementdo pliku JavaScript:import "@googleworkspace/drive-picker-element";Importowanie nie jest wymagane, jeśli używasz wersji CDN, ponieważ automatycznie wczytuje ona bibliotekę Google Picker i bibliotekę klienta interfejsu API Google używaną do uwierzytelniania.
Dodaj elementy niestandardowe do pliku HTML:
<drive-picker> <drive-picker-docs-view></drive-picker-docs-view> </drive-picker>Informacje o atrybutach i właściwościach
<drive-picker/>i<drive-picker-docs-view/>znajdziesz w dokumentacji referencyjnej@googleworkspace/drive-picker-element.
Wydarzenia
Element <drive-picker/> wysyła te zdarzenia niestandardowe:
| Zdarzenie | Opis |
|---|---|
picker-picked |
Wywoływane, gdy użytkownik wybierze co najmniej 1 element. |
picker-canceled |
Uruchamiane, gdy użytkownik anuluje wybór, klikając przycisk Anuluj lub zamykając okno bez dokonania wyboru. |
picker-error |
Uruchamiane, gdy podczas inicjalizacji lub wybierania pliku wystąpi błąd. |
Więcej informacji o zdarzeniach znajdziesz w @googleworkspace/drive-picker-elementdokumentacji na platformie NPM.
Szczegóły wydarzenia
W przypadku zdarzenia picker-picked szczegóły zdarzenia zawierają pełną nazwę ResponseObject.
{
"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
}
]
}
}
Najczęściej używane właściwości w obiekcie odpowiedzi to:
action: działanie, które wywołało wywołanie zwrotne (np.PICKED).docs: tablica obiektówDocumentObjectwybranych przez użytkownika. Każdy obiekt zawiera właściwości takie jak:
W przypadku zdarzenia picker-error zmienna event.detail zawiera obiekt błędu lub ciąg znaków opisujący błąd (np. ERR_USER_NOT_AUTHENTICATED).
Przykłady
Poniższe przykłady kodu pokazują, jak używać komponentu internetowego Google Picker w typowych przypadkach. W każdym przykładzie kodu zastąp te elementy:
PROMPT: lista rozdzielonych spacjami, uwzględniających wielkość liter promptów autoryzacji konta Google, które mają być wyświetlane użytkownikowi. Więcej informacji znajdziesz w sekcji
TokenClientConfig.prompt.ORIGIN: parametr origin selektora. Na przykład:
https://developers.google.com. Więcej informacji znajdziesz w sekcji metodyPickerBuilder.setOrigin.APP_ID: identyfikator aplikacji Dysku. Więcej informacji znajdziesz w opisie metody
PickerBuilder.setAppId.CLIENT_ID: identyfikator klienta OAuth 2.0. Więcej informacji znajdziesz w artykule Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google.
Pliki PDF
Filtruje widok, aby wyświetlać tylko pliki PDF, za pomocą atrybutu 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>
Pliki graficzne i wideo
Filtruje widok, aby wyświetlać tylko pliki graficzne (JPEG, PNG) i wideo (MP4, QuickTime) za pomocą atrybutu 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>
Pliki należące do mnie
Filtruje widok, aby wyświetlać tylko pliki, których właścicielem jest bieżący użytkownik, za pomocą atrybutu 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>
Zapytanie dotyczące plików bez nazwy
Filtruje widok, aby wyświetlać pliki pasujące do zapytania „Bez tytułu” przy użyciu atrybutu 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>
Pliki oznaczone gwiazdką
Filtruje widok, aby wyświetlać tylko pliki oznaczone gwiazdką, za pomocą atrybutu 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>
Powiązane artykuły
- Szczegółowe informacje o atrybutach, zdarzeniach i właściwościach znajdziesz w pełnej dokumentacji w
drive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-elementdrive-picker-element�