Tworzenie dodatków do Google Workspace w Cloud Functions za pomocą środowiska wykonawczego Node.js.
Cele
- skonfigurować środowisko,
- utworzyć i wdrożyć funkcję w Cloud Functions;
- Utwórz i wdróż dodatek.
- Zainstaluj dodatek.
Wymagania wstępne
- Projekt Google Cloud.
- Sprawdź, czy masz włączone płatności w projekcie Cloud. Dowiedz się, jak sprawdzić stan rozliczeń projektów.
- Pakiet SDK Cloud skonfigurowany z projektem Cloud.
Konfigurowanie środowiska
Otwieranie projektu Cloud w konsoli Google Cloud
- W konsoli Google Cloud otwórz stronę Wybierz projekt.
- Wybierz projekt Google Cloud, którego chcesz użyć. Możesz też kliknąć Utwórz projekt i postępować zgodnie z instrukcjami wyświetlanymi na ekranie. Jeśli utworzysz projekt Google Cloud, może być konieczne włączenie dla niego płatności.
Konfigurowanie ekranu zgody OAuth
Dodatki do Google Workspace wymagają konfiguracji ekranu zgody. Konfigurowanie ekranu zgody OAuth dodatku określa, co Google wyświetla użytkownikom.
- W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Ekran akceptacji OAuth.
- W polu Typ użytkownika wybierz Wewnętrzny i kliknij Utwórz.
- Wypełnij formularz rejestracji aplikacji, a następnie kliknij Zapisz i kontynuuj.
Na razie możesz pominąć dodawanie zakresów i kliknąć Zapisz i kontynuuj. Gdy w przyszłości będziesz tworzyć aplikację do użytku poza organizacją Google Workspace, musisz zmienić Typ użytkownika na Zewnętrzny, a następnie dodać zakresy autoryzacji wymagane przez Twoją aplikację.
- Przejrzyj podsumowanie rejestracji aplikacji. Aby wprowadzić zmiany, kliknij Edytuj. Jeśli rejestracja aplikacji wygląda na prawidłową, kliknij Back to Dashboard (Powrót do panelu).
Utwórz i wdróż funkcję w Cloud Functions
W terminalu lokalnym włącz Cloud Functions, Cloud Build i Google Workspace Add-ons API:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
W pustym katalogu utwórz plik
function.js
za pomocą tego przykładowego kodu:/** * Cloud Function that loads the homepage for a * Google Workspace Add-on. * * @param {Object} req Request sent from Google * @param {Object} res Response to send back */ exports.loadHomePage = function addonsHomePage (req, res) { res.send(createAction()); }; /** Creates a card with two widgets. */ function createAction() { return { "action": { "navigations": [ { "pushCard": { "header": { "title": "Cats!" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "Your random cat:" } }, { "image": { "imageUrl": "https://cataas.com/cat" } } ] } ] } } ] } }; }
Wdróż funkcję:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
Jeśli pojawi się taka prośba, określ, że nie zezwalasz na nieuwierzytelnione wywołania funkcji. Wdrożenie funkcji może potrwać kilka minut.
Tworzenie wdrożenia dodatku
Znajdź adres e-mail konta usługi dodatku:
gcloud workspace-add-ons get-authorization
Przypisz do konta usługi rolę
cloudfunctions.invoker
:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
Pobierz adres URL wdrożonej funkcji. Aby uzyskać adres URL, uruchom poniższe polecenie i odszukaj pole
url
w sekcjihttpsTrigger
:gcloud functions describe loadHomePage
Utwórz plik
deployment.json
na podstawie podanego niżej przykładowego kodu. ZastąpURL
adresem URL wdrożonej funkcji z poprzedniego kroku.{ "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"], "addOns": { "common": { "name": "My HTTP Add-on", "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png", "homepageTrigger": { "runFunction": "URL" } }, "gmail": {}, "drive": {}, "calendar": {}, "docs": {}, "sheets": {}, "slides": {} } }
Utwórz wdrożenie:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Instalowanie dodatku
Zainstaluj wdrożenie w trybie deweloperskim:
gcloud workspace-add-ons deployments install quickstart
Otwórz lub załaduj ponownie Gmaila, aby wyświetlić dodatek. Na pasku narzędzi po prawej stronie poszukaj ikony zlewki.
Kliknij ikonę, aby otworzyć dodatek. Jeśli pojawi się odpowiedni komunikat, autoryzuj dodatek.
Opcjonalnie: wyczyść dane
Aby uniknąć obciążenia konta opłatami, usuń utworzone przez siebie zasoby:
Odinstaluj dodatek z konta Google:
gcloud workspace-add-ons deployments uninstall quickstart
Aby uniknąć opłat za zasoby zużyte w tym krótkim wprowadzeniu, usuń projekt Cloud:
gcloud projects delete PROJECT_ID
Zastąp PROJECT_ID identyfikatorem projektu Cloud użytego w krótkim wprowadzeniu. Identyfikator projektu Cloud znajdziesz w konsoli Google Cloud na stronie panelu.
Dalsze kroki
Aby dodać więcej funkcji do dodatku Google Workspace, zapoznaj się z tymi przewodnikami:
- Tworzenie dodatku w dowolnym języku kodowania
- Wyświetlanie podglądu linków za pomocą elementów inteligentnych