top of page

🔐 n8n ve Google Cloud Bölüm 2: OAuth2, Bağlantı Sorunları ve O Meşhur "7 Gün" Kuralı

  • Yazarın fotoğrafı: Alper AKBAS
    Alper AKBAS
  • 12 Oca
  • 3 dakikada okunur

Eğer serinin ilk bölümünü okuyup (buradan erişebilirsiniz) API'larınızı açtıysanız (Gmail, Drive, Sheets vb.), artık elimizde motoru çalışan ama henüz anahtarı çevrilmemiş bir araba var demektir. Motor hazır, peki ya kontak anahtarı?


İşte bu bölümde, n8n ile Google servisleri arasındaki o kritik köprüyü, yani OAuth2 Kimlik Doğrulamasını (Authentication) kuruyoruz. Ve dürüst olalım; burası çoğu otomasyoncunun "Pes ettim!" dediği yerdir. Ama biz pes etmeyeceğiz, çünkü bu rehberde en karmaşık hataların bile (canlı yayında yaptığım hatalar dahil!) çözümü var.


🚧 Localhost'un Cilvesi: Neden "Tek Tıkla" Bağlanamıyoruz?


n8n Cloud kullanıyorsanız hayat size yine güzel; "Sign in with Google" butonuna basarsınız ve biter. Ancak bizim gibi Localhost / Self Hosted (Docker) kahramanları için işler biraz farklı.


Google'ın kapısını çaldığımızda bize "Sen kimsin?" diye soruyor. Localhost'ta çalıştığımız için Google bizi tanımıyor. Bu yüzden ona "Bak bu benim n8n sunucum, bu da benim kimliğim (Client ID)" diyerek kendimizi özel olarak tanıtmamız gerekiyor.


İşte Google Cloud Console'da yapacağımız Client ID ve Client Secret oluşturma işlemi tam olarak bu tanışma merasimidir.


🛠️ Adım Adım OAuth2 Kurulum Rehberi

Videoda detaylıca gösterdiğim adımları burada özetleyelim:


1. İzin Ekranını (OAuth Consent Screen) Ayarlayın

Google Cloud Console'da "APIs & Services" > "OAuth consent screen" kısmına gidiyoruz. Burada karşımıza çıkan ilk ve en önemli soru: User Type (Kullanıcı Tipi)


  • Internal (Dahili): Sadece kendi organizasyonunuzdaki (@https://www.google.com/search?q=sirketiniz.com) mailler bağlanabilir. En güvenli ve sorunsuz yöntemdir ama Google Workspace üyeliği gerektirir.


  • External (Harici): Herhangi bir Gmail hesabı bağlanabilir. Ücretsiz Gmail kullanıyorsanız bunu seçeceksiniz. Ama dikkat: "Testing" modunda kalacağı için bazı kısıtlamaları var (Aşağıda değineceğim).


2. Kimlik Bilgilerini (Credentials) Oluşturun

Sol menüden "Credentials" > "Create Credentials" > "OAuth client ID" yolunu izleyin.

  • Application Type: "Web application" seçiyoruz.

  • Redirect URIs (Çok Kritik!): İşte bağlantının kopacağı ya da çalışacağı yer burası. n8n'in OAuth2 ekranında size verdiği o uzun URL'i (genelde http://localhost:5678/... ile başlar) buraya eksiksiz yapıştırmanız şart. Yoksa Google, "Yanlış adresten geldin" diyerek kapıyı açmaz.


Bu işlemin sonunda Google size iki altın anahtar verecek: Client ID ve Client Secret. Bunları n8n'e girdiğinizde o yeşil "Connected" yazısını göreceksiniz! 🎉


⚠️ Dikkat: Canlı Yayında Yaptığım Hata (Siz Yapmayın!)

Videoyu izleyenler dakika 11:10 civarındaki o anı hatırlayacaktır. Her şeyi doğru yapmama rağmen "Hata!" aldım. Neden?


Çünkü projemde Google Drive API'sını "ENABLE" etmeyi unutmuşum!


Ders: Kimlik bilgisi oluşturmak yetmez. Kullanacağınız servisin (Drive, Sheets, Docs) API'sını kütüphaneden bulup "Aktifleştir" butonuna bastığınızdan emin olun. Yoksa elinizde anahtar olsa bile kapı kilitli kalır.


⏳ Kabus: Bağlantım Neden 7 Günde Bir Kopuyor?

Eğer ücretsiz Gmail hesabı kullanıyorsanız ve User Type olarak "External" seçtiyseniz, Google sizi "Testing" (Test) aşamasında tutar. Güvenlik gereği test uygulamalarının yetkileri (Token) her 7 günde bir sıfırlanır.


Yani her hafta n8n'e girip tekrar "Sign in" yapmanız gerekir. Can sıkıcı değil mi?


Çözümü Nedir?

  1. Publish App: "OAuth consent screen" sayfasında uygulamanızı "Publish" (Yayınla) diyerek canlıya alabilirsiniz. Ancak Google sizden doğrulama isteyebilir ve süreç biraz uzayabilir.

  2. Google Workspace (Tavsiyem): Eğer işi profesyonel yapacaksanız, kendinize bir Workspace hesabı alın ve "Internal" seçeneğini kullanın. Hem 7 gün limitinden kurtulursunuz hem de token'ınız ömürlük olur.


🚀 Sonuç

Artık n8n sunucunuz Google ile resmi olarak tanıştı ve tokalaştı. Gmail okuyabilir, Drive'a dosya atabilir, Sheets'e satır ekleyebilir.

Bu aşamayı geçtiyseniz, otomasyon dünyasında "Çıraklıktan Kalfalığa" geçtiniz demektir. Bir sonraki adımda bu gücü kullanarak neler yapabileceğimizi konuşacağız.


Ders Videomuz

👇 Tüm bu adımları ve o meşhur hatayı canlı canlı görmek için videoyu buradan izleyebilirsiniz. Bu video (ders) iki ana bölümden oluşuyor. İlk bölümde hızlı ve basit kurulum yapıyoruz. İkinci bölümde ise daha gerçekçi "production" senaryoları için biraz daha detaya iniyoruz.




Bir önceki derse ve videoya aşağıdaki linklerden ulaşabilirsiniz:


Bundan sonraki derste ne var?

Bundan sonraki derste, güzel bir ve gerçekçi bir senaryo üzerinden gideceğiz. Bir API'dan json ile data çekip, bu api'dan gelen ingilizce ürün bilgilerini ve "Basic LLM Agent" node'u ile kullanacağımız Gemini ve Groq modelleri ile yaratacağımız Türkçe ürün ismi, ürün sloganı gibi alanları google sheets'e kaydedeceğiz.

Yorumlar


bottom of page