Tworzenie dodatków Google Workspace w Cloud Functions przy użyciu środowiska wykonawczego Node.js.
Cele
- skonfigurować środowisko,
- Utwórz i wdróż funkcję w Cloud Functions.
- Utwórz i wdróż dodatek.
- Zainstaluj dodatek.
Wymagania wstępne
Włącz płatności w projekcie Cloud. Dowiedz się, jak sprawdzać stan rozliczenia projektów.
Cloud SDK jest 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, konieczne może być włączenie płatności.
Konfigurowanie ekranu zgody OAuth
Dodatki Google Workspace wymagają skonfigurowania ekranu zgody. Konfigurując ekran zgody OAuth w przystawce, określasz, co Google wyświetla użytkownikom.
- W konsoli Google Cloud otwórz Menu > > Identyfikacja marki.
- Jeśli masz już skonfigurowany projekt , możesz skonfigurować te ustawienia ekranu zgody OAuth: Markowanie, Odbiorcy i Dostęp do danych. Jeśli zobaczysz komunikat nie skonfigurowano, kliknij Rozpocznij:
- W sekcji Informacje o aplikacji w polu Nazwa aplikacji wpisz nazwę aplikacji.
- W sekcji Adres e-mail dla użytkowników potrzebujących pomocy wybierz adres e-mail zespołu pomocy, na który użytkownicy będą mogli się z Tobą kontaktować w sprawie pytań dotyczących zgody.
- Kliknij Dalej.
- W sekcji Odbiorcy wybierz Wewnętrzny.
- Kliknij Dalej.
- W sekcji Dane kontaktowe wpisz adres e-mail, na który będą wysyłane powiadomienia o zmianach w projekcie.
- Kliknij Dalej.
- W sekcji Zakończ zapoznaj się z zasadami dotyczącymi danych użytkownika w usługach interfejsu API Google, a potem, jeśli się z nimi zgadzasz, kliknij Akceptuję zasady dotyczące danych użytkownika w usługach interfejsu API Google.
- Kliknij Dalej.
- Kliknij Utwórz.
- Na razie możesz pominąć dodawanie zakresów. Gdy w przyszłości będziesz tworzyć aplikację do użytku poza organizacją Google Workspace, musisz zmienić Typ użytkownika na Zewnętrzny. Następnie dodaj zakresy autoryzacji wymagane przez Twoją aplikację. Więcej informacji znajdziesz w pełnym przewodniku Konfigurowanie zgody OAuth.
Tworzenie i wdrażanie funkcji w Cloud Functions
W konsoli Google Cloud kliknij Aktywuj Cloud Shell
.
Otworzy się terminal Cloud Shell, który uruchomi sesję w dolnym panelu konsoli Google Cloud.
Aby skonfigurować Cloud Shell i połączyć się z nim, kliknij Autoryzuj.
W terminalu Cloud Shell włącz interfejsy Cloud Functions API, Cloud Build API, Google Workspace Add-ons API i Compute Engine API:
gcloud services enable cloudfunctions.googleapis.com \ cloudbuild.googleapis.com \ gsuiteaddons.googleapis.com \ compute.googleapis.com
Uruchom edytor Cloud Shell, klikając
Otwórz edytor na pasku narzędzi w oknie Cloud Shell.
Ten wbudowany edytor kodu umożliwia wygodne przeglądanie i edytowanie plików w tym samym środowisku, w którym tworzone i wdrażane są projekty.
W pustym katalogu utwórz plik
function.js
z tym przykładowym kodem:/** * 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" } } ] } ] } } ] } }; }
W tym samym katalogu utwórz plik
package.json
z tym przykładowym kodem:{ "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
Aby wrócić do terminala Cloud Shell, kliknij
Otwórz terminal.
Dodaj rolę
Cloud Build Service Account
(roles/cloudbuild.builds.builder
) do domyślnego konta usługi Compute Engine.Najpierw skonfiguruj uprawnienie konta usługi:
export PROJECT_ID=$(gcloud config get project) export SERVICE_ACCOUNT_NAME=$(gcloud compute project-info describe \ --format="value(defaultServiceAccount)")
Następnie przyznaj brakujące uprawnienia kontu usługi:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \ --role="roles/cloudbuild.builds.builder"
Aby wdrożyć funkcję, uruchom to polecenie:
gcloud functions deploy loadHomePage --runtime nodejs22 --trigger-http
Jeśli pojawi się 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 dla dodatku:
gcloud workspace-add-ons get-authorization
Przypisz do konta usługi rolę
cloudfunctions.invoker
. Zastąp SERVICE_ACCOUNT_EMAIL polemserviceAccountEmail
z poprzedniego kroku.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 to polecenie i znajdź pole
url
w sekcjihttpsTrigger
:gcloud functions describe loadHomePage
Aby wrócić do edytora Cloud Shell, kliknij
Otwórz edytor.
W tym samym katalogu co plik
package.json
utwórz plikdeployment.json
z tym przykładowym kodem. Zastąp URLurl
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": {}, "httpOptions": { "granularOauthPermissionSupport": "OPT_IN" } } }
Wróć do terminala Cloud Shell, aby utworzyć wdrożenie:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Jak zainstalować dodatek
Zainstaluj wdrożenie w trybie deweloperskim:
gcloud workspace-add-ons deployments install quickstart
Aby wyświetlić dodatek, otwórz lub ponownie załaduj Gmaila. Na pasku narzędzi po prawej stronie odszukaj ikonę z probówką.
Kliknij ikonę, aby otworzyć dodatek. Jeśli pojawi się taka prośba, autoryzuj dodatek.
Opcjonalnie: oczyszczenie
Aby uniknąć obciążenia konta opłatami, usuń utworzone przez siebie zasoby:
Odinstaluj dodatek ze swojego konta Google:
gcloud workspace-add-ons deployments uninstall quickstart
Aby uniknąć obciążenia konta opłatami za zasoby wykorzystane w tym samouczku, usuń projekt Cloud:
gcloud projects delete PROJECT_ID
Zastąp PROJECT_ID identyfikatorem projektu Cloud, którego używasz w tym krótkim wprowadzeniu. Identyfikator projektu Cloud znajdziesz w konsoli Google Cloud na stronie Panelu.
Powiązane artykuły
Aby dodać więcej funkcji do dodatku Google Workspace, zapoznaj się z tymi artykułami:
- Tworzenie dodatku do Google Workspace przy użyciu punktów końcowych HTTP
- Ćwiczenie z programowania: tworzenie dodatku Google Workspace za pomocą Node.js i Cloud Run
- Wyświetlanie podglądów linków za pomocą elementów inteligentnych