Na tej stronie znajdziesz instrukcje tworzenia dodatku Google Workspace, który umożliwia użytkownikom Dokumentów Google tworzenie zasobów, takich jak zgłoszenie do zespołu pomocy lub zadanie projektowe, w usłudze innej firmy w Dokumentach Google.
Za pomocą dodatku do Google Workspace możesz dodać swoją usługę do menu @ w Dokumentach. Dodatek dodaje elementy menu, które umożliwiają użytkownikom tworzenie zasobów w Twojej usłudze za pomocą okna dialogowego formularza w Dokumentach.
Jak użytkownicy tworzą zasoby
Aby utworzyć zasób w usłudze z poziomu dokumentu w Dokumentach Google, użytkownicy mogą wpisać @ w dokumencie i wybrać usługę z menu @:
Gdy użytkownicy wpisują @ w dokumencie i wybierają Twoją usługę, wyświetla się karta z polami formularza, których użytkownicy potrzebują do utworzenia zasobu. Gdy użytkownik prześle formularz tworzenia zasobu, Twój dodatek powinien utworzyć zasób w usłudze i wygenerować adres URL, który do niego prowadzi.
Wtyczka wstawia do dokumentu element dotyczący utworzonego zasobu. Gdy użytkownik najedzie kursorem na ten element, zostanie uruchomiony powiązany z dodatkiem element wywołujący podgląd linku. Upewnij się, że dodatek wstawia elementy inteligentne z wzorami linków obsługiwanymi przez czynniki uruchamiające podgląd linków.
Aby skonfigurować tworzenie zasobów, w pliku manifestu dodatku określ te sekcje i pola:
W sekcji addOns w polu docs zastosuj regułę createActionTriggers, która zawiera runFunction. (definiujesz tę funkcję w następnej sekcji Tworzenie kart formularza).
W polu oauthScopes dodaj zakres https://www.googleapis.com/auth/workspace.linkcreate, aby użytkownicy mogli autoryzować dodatki do tworzenia zasobów.
W szczególności zakres ten pozwala dodatkowi odczytywać informacje przesłane przez użytkowników w formularzu tworzenia zasobu i wstawiać w dokumencie element inteligentny na podstawie tych informacji.
Przykładem jest sekcja addons w pliku manifestu, która konfiguruje tworzenie zasobu dla tego zgłoszenia do zespołu pomocy:
{"oauthScopes":["https://www.googleapis.com/auth/workspace.linkpreview","https://www.googleapis.com/auth/workspace.linkcreate"],"addOns":{"docs":{"linkPreviewTriggers":[...],"createActionTriggers":[{"id":"createCase","labelText":"Create support case","localizedLabelText":{"es":"Crear caso de soporte"},"runFunction":"createCaseInputCard","logoUrl":"https://www.example.com/images/case.png"}]}}}
W tym przykładzie dodatek Google Workspace umożliwia użytkownikom tworzenie zgłoszeń do zespołu pomocy.
Każdy createActionTriggers musi zawierać te pola:
Unikalny identyfikator
Etykieta tekstowa wyświetlana w menu @ w Dokumentach
Adres URL logo wskazujący ikonę, która pojawia się obok tekstu etykiety w menu @.
Funkcja wywołania zwrotnego, która odwołuje się do funkcji Apps Script lub punktu końcowego HTTP zwracającego kartę
Tworzenie kart formularza
Aby utworzyć zasoby w usłudze z poziomu menu Docs @, musisz zaimplementować wszystkie funkcje określone w obiekcie createActionTriggers.
Gdy użytkownik wejdzie w interakcję z jednym z Twoich elementów menu, odpowiedni createActionTriggers wyzwalacz zostanie uruchomiony, a jego funkcja wywołania wyświetli kartę z polami formularza do tworzenia zasobu.
Obsługiwane elementy i działania
Aby utworzyć interfejs karty, użyj widżetów do wyświetlania informacji i danych wejściowych, których użytkownicy potrzebują do utworzenia zasobu. Większość widżetów i działań Google Workspace jest obsługiwana z następującymi wyjątkami:
Stopki kart nie są obsługiwane.
Powiadomienia nie są obsługiwane.
W przypadku nawigacji obsługiwana jest tylko nawigacja updateCard.
Przykład karty z polami formularza
Ten przykład pokazuje funkcję wywołania zwrotnego w Google Apps Script, która wyświetla kartę, gdy użytkownik w menu @ kliknie Utwórz zgłoszenie:
Karta zawiera pola tekstowe, menu i pole wyboru. Zawiera też przycisk tekstowy z działaniem onClick, które uruchamia inną funkcję do obsługi przesyłania formularza tworzenia.
Gdy użytkownik wypełni formularz i kliknie Utwórz, dodatek prześle dane wejściowe formularza do funkcji działania onClick (w naszym przykładzie nazywa się ona submitCaseCreationForm). W tym momencie dodatek może zweryfikować dane wejściowe i użyć ich do utworzenia zasobu w usłudze zewnętrznej.
Obsługa przesłanych formularzy
Gdy użytkownik prześle formularz tworzenia, zostanie uruchomiona funkcja powiązana z działaniem onClick. Aby zapewnić użytkownikom optymalną wygodę, dodatek powinien obsługiwać zarówno prawidłowe, jak i nieprawidłowe przesyłanie formularzy.
Obsługa tworzenia zasobu
Funkcja onClick Twojego dodatku powinna utworzyć zasób w usłudze zewnętrznej i wygenerować adres URL, który do niego prowadzi.
Aby przekazać Docs adres URL zasobu do użycia w elemencie graficznym, funkcja onClick powinna zwracać SubmitFormResponse z jednoelementowym tablicą w funkcji renderActions.action.links, która wskazuje na link. Tytuł linku powinien odpowiadać tytułowi utworzonego zasobu, a adres URL powinien wskazywać na ten zasób.
Poniższy przykład pokazuje SubmitFormResponse utworzonego zasobu:
Po zwróceniu SubmitFormResponse okno modalne się zamyka, a dodatek wstawia do dokumentu element.
Gdy użytkownik najedzie na ten element, wywołuje powiązany z nim element reguły podglądu. Upewnij się, że dodatek nie wstawia elementów z wzorami linków, których nie obsługują czynniki uruchamiające podgląd linków.
Obsługuj błędy
Jeśli użytkownik spróbuje przesłać formularz z nieprawidłowymi polami, wtyczka powinna zamiast działania SubmitFormResponse z linkiem zwrócić działanie renderowania, które wyświetla błąd za pomocą nawigacji updateCard.
Dzięki temu użytkownik może sprawdzić, co zrobił nie tak, i spróbować ponownie. W przypadku Apps Script użyj wartości updateCard(card), a w przypadku innych środowisk wykonawalnych – updateCard. Powiadomienia i nawigacja pushCard nie są obsługiwane.
Przykład obsługi błędów
Przykład poniżej pokazuje kod wywoływany, gdy użytkownik przesyła formularz. Jeśli dane wejściowe są nieprawidłowe, karta się aktualizuje i wyświetla komunikaty o błędach. Jeśli dane wejściowe są prawidłowe, dodatek zwraca SubmitFormResponse z linkiem do utworzonego zasobu.
Pełny przykład: dodatek do zgłoszenia do zespołu pomocy
Ten przykład pokazuje dodatek Google Workspace, który wyświetla podgląd linków do zgłoszeń do zespołu pomocy firmy i umożliwia użytkownikom tworzenie zgłoszeń w Dokumentach Google.
Przykład wykonuje te czynności:
Generuje kartę z polami formularza, aby utworzyć zgłoszenie do zespołu pomocy z menu Dokumenty Google.
Sprawdza dane wejściowe formularza i zwraca komunikaty o błędach w przypadku nieprawidłowych danych.
Wstawia nazwę i link do utworzonego zgłoszenia do zespołu pomocy w dokumencie Dokumentów jako element inteligentny.
Wyświetla podgląd linku do zgłoszenia do zespołu pomocy, np. https://www.example.com/support/cases/1234. Element inteligentny wyświetla ikonę, a karta podglądu zawiera nazwę, priorytet i opis zgłoszenia.
[null,null,["Ostatnia aktualizacja: 2025-02-14 UTC."],[[["This guide details building a Google Workspace add-on to create and manage external resources (like support cases) directly within Google Docs."],["Users can create resources via a form within Docs, which then inserts a smart chip linking to the resource in the external service."],["The add-on requires configuration in the manifest file and utilizes Apps Script, Node.js, Python, or Java for development."],["Comprehensive code samples are provided to guide developers through card creation, form submission, and error handling."],["Smart chips representing the created resources offer link previews, enhancing user experience and information access."]]],[]]