📌 Ders-11 – n8n’de Credentials Mantığı & Gmail API Bağlantısı

Bu derste Credentials kavramını, API nedir ve neden gereklidir sorularını, n8n’in onlarca servise nasıl bağlandığını ve ilk örnek olarak Gmail API entegrasyonunu adım adım ele alıyoruz.


Credentials Nedir? API Nedir? Neden Gerekli?

  • API (Application Programming Interface), bir uygulamanın başka bir uygulamayla güvenli ve kurallı biçimde konuşmasını sağlayan arayüzdür.
  • Credentials, bu API’lere bağlanırken kendimizi kimlik doğrulama ile tanıttığımız anahtarlardır (ör. API Key, OAuth2 Client ID/Secret).
  • Neden gereklidir? Güvenlik (sadece yetkili uygulamalar erişsin), kota/limit yönetimi, kullanım takibi ve yetkilendirme (hangi veriye hangi kapsamla erişileceği) için.

Şirketler neden API sağlar?

  • Ekosistemi büyütmek (geliştiriciler yeni kullanım alanları üretir),
  • Ürünlerin başka platformlarla entegre olması (bağımlılık/kalıcılık artar),
  • Gelir modeli (ücretsiz/ücretli katmanlar, kullanım başı faturalama),
  • Operasyonel verimlilik (otomasyonla destek/entegrasyon maliyetleri düşer).

n8n’de Credentials Nereye Eklenir?

  • Overview ekranında workflow satırındaki Credentials butonuna tıklayın.
  • Burada onlarca uygulamanın kimlik bilgilerini oluşturup yönetebilirsiniz.
  • Örnek sağlayıcılar (yüzeysel tanıtım): Anthropic, Airtable, Facebook, Google Analytics, Google Calendar, Google Drive, Google Contacts, Google Gemini, Deepseek, Discord, GitHub vb.

İlk Örnek: Gmail API ile E-posta Gönderme

Gmail üzerinden API ile günlük e-posta gönderim limiti genellikle ücretsiz hesaplarda sınırlıdır (yaklaşık ~500 e-posta/gün civarıdır; kurumsal Google Workspace’te daha yüksek olabilir). Daha yüksek hacimler için ücretli planlar/alternatifler tercih edilebilir (özetle “PLUS” yaklaşımı).


Google Cloud Console’da Gmail API Kurulumu (Adım Adım)

  1. Proje Oluşturun
    • Google Cloud Console’a girin.
    • Üstteki proje seçicisinden New Project deyin, bir isim verin ve oluşturun.
  2. Gmail API’yi Etkinleştirin
    • Sol menü: APIs & Services → Library.
    • Gmail API aratıp Enable butonuna tıklayın.
  3. OAuth Consent Screen (Kullanıcı Onayı Ekranı)
    • APIs & Services → OAuth consent screen.
    • Kişisel kullanımda genelde External seçilir (Workspace ise Internal da olabilir).
    • Uygulama adı, destek e-postası ve gerekli temel bilgileri doldurun.
    • Scopes: Minimum gerekli kapsamları ekleyin (ör. sadece gönderim için gmail.send yeterli olabilir).
    • Test Users: Test modunda, uygulamayı kullanacak Gmail adresinizi “Test User” olarak ekleyin.
    • Kaydedin.
  4. OAuth2 Kimlik Bilgilerini Oluşturun
    • APIs & Services → Credentials → Create Credentials → OAuth client ID.
    • Application type: Web application.
    • Authorized redirect URI ekleyin:
      • Lokal n8n için: http://localhost:5678/rest/oauth2-credential/callback
      • Sunucunuz varsa: https://alanadiniz.com/rest/oauth2-credential/callback
    • Oluşturduktan sonra Client ID ve Client Secret değerlerinizi not alın.

n8n’de Gmail Credentials Oluşturma

  1. n8n → CredentialsNewGmail OAuth2 seçin.
  2. Client ID ve Client Secret alanlarına Google’dan aldığınız değerleri yapıştırın.
  3. Scope kısmında yalnızca ihtiyacınız olan kapsamları seçin (ör. gönderim için gmail.send).
  4. Connect OAuth2 Account butonuna basın → Google oturumunuzla izin verin → n8n’e geri dönün.
  5. Credential kaydınızı Save edin.

Hızlı Test: Gmail Node ile E-posta Gönderimi

  1. Workflow’a Gmail node ekleyin, Operation = Send seçin.
  2. Credentials alanında biraz önce oluşturduğunuz Gmail OAuth2 kimliğini seçin.
  3. Send to, Subject, Message (HTML destekli) alanlarını doldurun.
  4. Execute Node ile test edin. Başarılıysa akışta “yeşil” çıktı görürsünüz.

İpuçları & Yaygın Hatalar

  • redirect_uri_mismatch: Google Cloud’daki Authorized redirect URI değeri, n8n’deki callback URI ile birebir aynı olmalı (protokol, port, /rest/oauth2-credential/callback dahil).
  • Unverified app / Test Mode: Uygulama “Testing” modundaysa yalnızca eklediğiniz test kullanıcıları giriş yapabilir. Test modunda “yenileme belirteci” zamanla geçersizleşebilir; bu olursa n8n credential’ını yeniden yetkilendirin.
  • Az yetki verin: Sadece gereken scope’ları seçin (gmail.send gibi). Gereksiz kapsamlar doğrulama ve güvenlik risklerini artırır.
  • Güvenlik: Client Secret ve erişim token’larınızı kimseyle paylaşmayın, depolarken güvenli tutun.
  • Alternatif: Çok hacimli gönderimler için e-posta servis sağlayıcıları (SMTP/API) ve Email Send node’u değerlendirilebilir.

🎯 Bu Dersin Özeti

  • API ve Credentials kavramlarını, neden gerekli olduklarını öğrendiniz.
  • n8n’de Overview → Credentials alanından birçok servise bağlanabileceğinizi gördünüz.
  • Gmail API için Google Cloud Console’da Gmail API Enable → OAuth consent → OAuth Client adımlarını tamamladınız.
  • n8n’de Gmail OAuth2 credentials oluşturarak Gmail node ile test e-postası gönderdiniz.
  • Yaygın hatalar ve iyi uygulamalar konusunda pratik ipuçları edindiniz.