[Örnek Kod] Python3 Google Firebaseye Bağlanma

Merhabalar, bu yazımda Google Firebase bağlantısını sağlayabileceğimiz, kendi yazdığım ve Googlenin dökümanlarından yararlandığım ufak kod parçacığımı paylaşmak istiyorum.
ilk önce pip install firebase-admin diyerek paketi kuruyoruz.
kurulum tamamlandıktan sonra aşağıdaki kodlar yardımıyla bağlantımızı sağlayıp veri tabanında POST ve GET işlemleri yapabiliyoruz.
Kodu paylaşmadan önce yapmanız gerekenler var.

  1. Google Firebase ye kaydolun.

  2. Firebasede proje oluşturun.

  3. Proje oluştuktan sonra Databaseden veritabanı adınızı ve alan adlarınızı oluşturun.

  4. Projenizin ayarlar kısmına gelerek hizmet hesapları kısmından pythonu seçerek yeni özel anahtara tıklıyoruz ve python ile bağlanacağımız bağlantı anahtarını indiriyoruz.
    Bu anahtarı kimseyle paylaşmayın!..
    Ardında aşağıda paylaşmış olduğum Python kodunu kendi indirmiş olduğunuz dosyadaki bilgiler ile değiştirerek kullanabilirsiniz.

import firebase_admin
from firebase_admin import credentials,firestore


class Firebase:
    def __init__(self):
        certificate = {
  "type": "service_account",
  "project_id": "",
  "private_key_id": "",
  "private_key": "-",
  "client_email": "",
  "client_id": "",
  "auth_uri": "",
  "token_uri": "",
  "auth_provider_x509_cert_url": "",
  "client_x509_cert_url": ""
}
        cred = credentials.Certificate(certificate)
        firebase_admin.initialize_app(cred)
        self.db = firestore.client()
    def get(self,documentName):
        doc_ref = self.db.collection(u'Zavira').document(documentName)#zavira yazan kısıma veritabanı ismini yazıyoruz.Burası Veri tabanından bilgi çekmek için olan kısım bu kısımda veriler doc adlı değişkende tutulur.
        doc = doc_ref.get().to_dict()
        return doc

    def createUser(self,mail_adress,password,account):
        doc_ref = self.db.collection(u'Zavira').document(mail_adress)#zavira yazan kısıma veritabanı ismini yazıyoruz kullanıcının alan adı bilgilerini otomatik oluşturmak için yazdığım kod satırı
        a = doc_ref.set({
            u'email': mail_adress,
            u'password': password,
            u'account': account,
            u'serialkey':None
        })
        return print(a)
    def serialPost(self,mail_adress,key):
        doc_ref = self.db.collection(u'Zavira').document("SerialNumber")#zavira yazan kısıma veritabanı ismini yazıyoruz. Bilgilerin veritabanına gönderildiği kısım burası.
        a = doc_ref.set({
            u'email': mail_adress,#zavira adlı veritabanındaki e mail alan adı
            u'serialkey': key,
            u'key_account':1
        })
        return print(a) 

kodlar bu şekilde arkadaşlar umarım yararlı olmuştur. İyi kodlamalar :slightly_smiling_face:

1 Like

Class yapılarını bildiğinizi varsayarak kodları detaylı olarak açıklamadım.
Ben bu kodları başka bir dosyada import ederek kullanmak için yazmıştım.