Planlarına bir bulut alanı aç.
Bu proje tek kişinin kendi hesabında kullanması için hazırlanmıştır. Google Cloud projesi, Google Drive verileri ve Cloudflare sitesi uygulamayı kullanacak kişiye ait olmalıdır. Geliştiricinin bilgisayarında hesap bağlantısı veya kişisel kasa oluşturmak gerekmez. Kurulumu aşağıdaki adımlarla hesap sahibi kendi hesabında yapar. Google parolanı veya istemci sırrını Günce’ye yazma. Gereken OAuth istemci kimliği herkese açık bir tanımlayıcıdır.
1. Google Cloud projesini oluştur
- Google Cloud Console üzerinden yeni bir proje oluştur. Adı “Günce” olabilir.
- “APIs & Services → Library” bölümünden Google Drive API hizmetini bul ve etkinleştir.
- “Google Auth Platform” bölümünde uygulamanın adını ve destek e-postanı tanımla. Kişisel Gmail hesabı kullanıyorsan hedef kitleyi External seç.
- Geliştirmede “Testing” durumunu kullan ve kendi Google hesabını test kullanıcısı olarak ekle. Test modunda en fazla 100 test kullanıcısı olabilir.
- “Data Access / Scopes” bölümüne yalnızca
https://www.googleapis.com/auth/drive.appdataiznini ekle. Tüm Drive’a erişim izni ekleme.
2. Web OAuth istemcisini oluştur
- “Clients / Credentials → Create OAuth client” bölümünde Web application türünü seç.
- “Authorized JavaScript origins” alanına yerel geliştirme adresini yaz:
http://localhost:5173. Port dahil tam kökeni kullan. - Canlı site hazır olunca aynı alana
https://SENIN-PROJEN.pages.devadresini ekle. Sonuna yol veya/ekleme. - Bu uygulama Google’ın açılır pencere token modelini kullanır; ayrıca bir redirect URI gerekmez.
…apps.googleusercontent.comile biten Client ID değerini kopyala. Client secret değerini paylaşma veya uygulamaya ekleme.
3. Uygulamaya istemci kimliğini gir
Günce’de “Google Drive ayarları” ekranına istemci kimliğini yapıştırıp kaydet. Google bağlantısı hazır olduğunda “Google hesabını bağla” düğmesine bas. İzin ekranını kontrol ederek uygulama veri alanına erişimi onayla.
Birden çok kullanıcıya yayın için istemci kimliğini config.js dosyasına yazabilir veya Cloudflare derleme ortamında GOOGLE_CLIENT_ID değişkenini tanımlayabilirsin. Bu değer bir sır değildir.
4. Cloudflare Pages üzerinde yayınla
- Proje klasöründe
npm run buildçalıştır. Yayın dosyalarıdist/içinde hazırlanır. Kaynak klasörün tamamını yükleme. - Cloudflare panelinde “Workers & Pages → Create → Pages” yolundan proje oluştur. Ücretsiz
pages.devadresiyle başlayabilirsin. - Git bağlantısıyla yayınlıyorsan derleme komutu
npm run build, çıktı klasörüdist. Direct Upload kullanıyorsan yalnızca hazırlanmışdist/içeriğini yükle. - Site adresini Google OAuth istemcisinin “Authorized JavaScript origins” listesine ekle. Kimlik ayarını canlı sitede de tanımla veya ortam değişkeniyle yeniden derle.
- Kendi hesabınla ilk bağlantıyı kur. Başka bir cihazda aynı siteyi aç, “Drive’daki alanımı aç” düğmesiyle aynı Google hesabını seç ve Günce kasasının parolasını gir.
5. Bireysel kullanım ayarları
Google OAuth uygulaması kişisel kullanım için Testing durumunda bırakılabilir; yalnızca sahibinin Google hesabını test kullanıcıları listesine ekle. Uygulama başka kişilere açılmayacaktır. Google bağlantısı süre sonunda yeniden istenebilir. Aynı kişinin telefonunda ve bilgisayarında aynı Google hesabı, aynı OAuth istemci kimliği ve aynı Günce kasası kullanılmalıdır.
Cloudflare’da ücretsiz pages.dev adresiyle başlayabilirsin. Site adresini bilmek notları açmaya yetmez: Drive erişimi ve Günce parolası gerekir. Site kodları tarayıcıya açık olduğundan kişisel bilgi, Google parolası veya istemci sırrı kaynak dosyalara eklenmemelidir.
Veri saklama açıklaması hangi bilgilerin nerede tutulduğunu anlatır. Google/Cloudflare koşullarını hesap sahibi kendisi kabul eder. Proje geliştirme bilgisayarına veya geliştiricinin hesabına bağlı değildir.
Bağlantı sorunu yaşarsan
- origin_mismatch: Site adresi, protokol ve port Google’daki izinli kökenle aynı olmalı.
- access_denied: Test kullanıcıları listesinde olduğundan ve appdata iznini verdiğinden emin ol.
- 403 / 429: API’nin etkin olduğunu, hesabındaki boş alanı ve erişim/kota durumunu kontrol et. Uygulama sınırsız tekrar denemez; kayıtların cihazda bekler.
- Bağlantı süresi doldu: “Google hesabını bağla” ile yeniden bağlan. Parolan veya notların değişmez.
- Farklı kasa bulundu: Kendi yerel yedeğini indir. Kilit ekranından Drive’daki kasayı aç. Farklı kasalar otomatik karıştırılmaz.
Kurulum tamamlanana kadar uygulama cihazında şifreli çalışır; Drive senkronizasyonu etkin sayılmaz.
Resmî belgeler: Drive uygulama veri alanı · Google token modeli · Pages Direct Upload