Ten warsztat przeprowadzi Cię przez pełną integrację n8n z usługami Google Cloud Platform. Nauczysz się łączyć z Google Sheets, autoryzować przez OAuth2, pobierać i zapisywać dane oraz budować kompletny workflow z webhookiem i powiadomieniami.
1. Połączenie z Google Sheets
Google Sheets to jedno z najpopularniejszych narzędzi do współdzielenia i przechowywania danych w chmurze. W n8n możesz:
- Odczytywać dane z arkuszy
- Dodawać nowe wiersze
- Aktualizować i usuwać dane
- Wyszukiwać konkretne rekordy
Wymagania:
- Konto Google
- Arkusz Google Sheets (może być pusty na start)
- Konfiguracja OAuth2 w Google Cloud Console
2. Autoryzacja przez Google OAuth
OAuth2 to bezpieczny standard autoryzacji, który pozwala aplikacjom (takim jak n8n) uzyskać dostęp do Twoich danych Google bez udostępniania hasła.
Jak działa OAuth2?
- Aplikacja (n8n) prosi o pozwolenie dostępu
- Logujesz sie do GCP
- Potwierdzasz uprawnienia
- Google generuje token dostępu
- n8n używa tokenu do komunikacji z API Google
Zalety:
- Bezpieczeństwo – nie udostępniasz hasła
- Kontrola – możesz odwołać dostęp w każdej chwili
- Zakres uprawnień – aplikacja ma dostęp tylko do tego, co zatwierdzisz
3. Czym jest Client ID i Client Secret
To para kluczy, które identyfikują Twoją aplikację w systemie OAuth2.
Client ID:
- Publiczny identyfikator aplikacji
- Mówi Google, która aplikacja próbuje się połączyć
- Przykład:
123456789-abc.apps.googleusercontent.com
Client Secret:
- Tajny klucz aplikacji
- Służy do weryfikacji autentyczności żądań
- Nigdy nie udostępniaj go publicznie!
Jak je uzyskać?
- Przejdź do Google Cloud Console
- Utwórz nowy projekt (lub wybierz istniejący)
- Włącz API (Google Sheets API, Gmail API, Drive API)
- Przejdź do "Credentials" → "Create Credentials" → "OAuth 2.0 Client ID"
- Wybierz typ: "Web application"
- Dodaj Redirect URI:
https://twoja-domena-n8n.com/rest/oauth2-credential/callback - Skopiuj Client ID i Client Secret
4. Ustawienie połączenia OAuth2 w n8n
Krok po kroku:
-
W n8n dodaj credentials:
- Przejdź do Settings → Credentials
- Kliknij "Add Credential"
- Wybierz "Google OAuth2 API"
-
Wypełnij dane:
- Client ID: (skopiuj z Google Cloud Console)
- Client Secret: (skopiuj z Google Cloud Console)
- Scope: wybierz odpowiednie uprawnienia (np.
https://www.googleapis.com/auth/spreadsheets)
-
Autoryzuj:
- Kliknij "Connect"
- Zaloguj się na konto Google
- Potwierdź uprawnienia
-
Zapisz credentials:
- Nadaj nazwę (np. "Google Sheets - Konto firmowe")
- Zapisz
Teraz możesz używać tych credentials w node'ach Google Sheets, Gmail, Drive itd.
5. Integracja API na podstawie Google Cloud
Google Cloud oferuje setki API do różnych usług. Aby z nich korzystać:
1. Włącz API w Google Cloud Console:
- Google Sheets API
- Gmail API
- Google Drive API
- Google Calendar API
- i wiele innych
2. Upewnij się, że OAuth2 ma odpowiednie zakresy (scopes):
- Sheets:
https://www.googleapis.com/auth/spreadsheets - Gmail:
https://www.googleapis.com/auth/gmail.modify - Drive:
https://www.googleapis.com/auth/drive
3. Użyj odpowiedniego node'a w n8n:
- Wybierz credentials, które skonfigurowałeś
- Wybierz operację (Get, Create, Update, Delete)
- Uzupełnij parametry
6. Odczyt danych z arkusza (Get Rows)
Node: Google Sheets → Get Rows
Przykład: Masz arkusz z listą klientów i chcesz pobrać wszystkie dane.
Konfiguracja:
- Wybierz credentials
- Wybierz arkusz (Spreadsheet)
- Wybierz zakładkę (Sheet)
- Opcjonalnie: ustaw zakres (Range), np.
A1:D100 - Uruchom node
Output:
[
{"Imię": "Jan", "Email": "jan@example.com", "Status": "aktywny"},
{"Imię": "Anna", "Email": "anna@example.com", "Status": "nieaktywny"}
]
Wskazówki:
- Dane są zwracane jako tablica obiektów
- Pierwsza linia arkusza to nagłówki kolumn
- Możesz filtrować dane node'm Filter lub Function
7. Dodanie nowego wiersza (Append Row)
Node: Google Sheets → Append Row
Przykład: Zapisujesz nowe zgłoszenie z formularza do arkusza.
Konfiguracja:
- Wybierz credentials
- Wybierz arkusz i zakładkę
- Podaj dane do zapisania:
- Możesz ręcznie wpisać wartości
- Lub użyć wyrażeń:
{{ $json.name }},{{ $json.email }}
Przykład danych:
Kolumna A: {{ $json.name }}
Kolumna B: {{ $json.email }}
Kolumna C: {{ $json.message }}
Kolumna D: {{ $now }}
Output: Wiersz zostanie dodany na końcu arkusza.
Wskazówki:
- Upewnij się, że kolejność kolumn odpowiada strukturze arkusza
- Możesz użyć node'a Set do przygotowania danych przed zapisem
8. Testowe pobranie danych z Gmaila lub Drive przez API
Gmail - odczyt wiadomości
Node: Gmail → Get Messages
- Wybierz credentials
- Ustaw filtry (np. tylko nieprzeczytane, od konkretnego nadawcy)
- Uruchom node
Output: Lista wiadomości e-mail z treścią, załącznikami, nadawcą itd.
Google Drive - lista plików
Node: Google Drive → List
- Wybierz credentials
- Opcjonalnie: ustaw folder
- Ustaw filtry (np. tylko pliki PDF)
Output: Lista plików z metadanymi (nazwa, ID, typ, data utworzenia)