Python ile Google Gruplar API’ye Erişim

Google Gruplar, bir e-posta listesinin ötesinde topluluklar oluşturmanıza yardımcı olabilir; tartışmalar başlatabilir, dosyalar paylaşabilir ve insanları bir araya getirebilir. Google Gruplar, tüm grup üyelerinin gönderdiği tüm e-postaların bir arşivini içerir. Google Gruplar API’sı, programınıza grup verilerini eklemenize ve yönetmenize olanak tanır.

Bu eğiticide, Google Gruplar API’sına Python kullanarak nasıl erişeceğimizi öğreneceğiz.

Ön Gereksinimler

  • İnternet bağlantısı
  • Bir Google hesabı
  • Python 3.x yüklü
  • Terminal veya Komut İstemi erişimi
  • Bir IDE veya metin düzenleyici (ör. VS Code, PyCharm)

Açıklama

Eğitimin tamamında, Google Gruplar API’sı için kimlik doğrulamasını gerçekleştireceğiz ve ardından API ile etkileşime gireceğiz.

Aşağıdaki adımları takip edin:

1. Google Cloud Console’da yeni bir proje oluşturun:

  1. Google Cloud Console’a gidin.
  2. Hesabınızla oturum açın ve sol üst köşede “Proje Seç”e tıklayın.
  3. “Yeni Proje”ye tıklayın ve projeniz için bir ad girin.
  4. Aynı ekranda “Oluştur”e tıklayın.

2. Google Gruplar API’sını etkinleştirin:

  1. Google Cloud Console’daki projenizi seçin.
  2. “API ve Hizmetler”e gidin ve “Kitaplık” seçeneğine tıklayın.
  3. Arama çubuğuna “Google Gruplar API” yazın.
  4. API’yi bulun ve “Etkinleştir”e tıklayın.

3. Kimlik Bilgileri Oluşturun:

  1. API ve Hizmetler > Kimlik Bilgileri’ne gidin.
  2. “Kimlik Bilgileri Oluştur”e tıklayın ve “OAuth istemci kimliği”ni seçin.
  3. Ekranda istenen bilgileri doldurun (örneğin, uygulama türini “Masaüstü uygulaması” olarak seçin).
  4. Oluşturduğunuzda istemci kimliği ve istemci sırrı gösterilecektir; bunları not edin.

4. OAuth2 Yetkilendirmesini Yapın:

  1. Kütüphaneler klasörünü oluşturun:
  2. Terminal veya Komut İstemi’nde şu komutu çalıştırın:
  3. ol>

  4. mkdir kütüphaneler
  • Kütüphaneler klasörüne gidin:
  • cd libraries
    
  • Pip kullanarak gerekli kütüphaneleri yükleyin:
  • pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib google-api-core google-auth
    
    1. Kütüphaneleri İçe Aktarın ve Yetkilendirme Kodunu İstemci Kütüphanesinden Alın:
    from google.oauth2 import service_account
    from google_auth_oauthlib.flow import InstalledAppFlow
    from google.auth.transport.requests import Request
    
    import os.path
    import pickle
    
    # Kullanım Amacı: Google API'ye Yetkilendirilmiş Erişim Sağlamak
    
    # Kullanıcıya Ait Yetkilendirme İstemcisi
    CLIENT_SECRET_FILE = 'client_secret.json'
    # Yetkilendirme için kapsam
    SCOPES = ['https://www.googleapis.com/auth/admin.directory.group.readonly']
    def authenticate_api():
        creds = None
        # Daha Önce Kimlik Bilgilerinin Kaydedildiği Bir Pickle Dosyası Varsa Yükle
        if os.path.exists('token.pickle'):
            with open('token.pickle', 'rb') as token:
                creds = pickle.load(token)
        # Geçerli Değilse Yenile veya İstemci Sırından Al
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            else:
                flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRET_FILE, SCOPES)
                creds = flow.run_local_server(port=0)
            # Kimlik Bilgilerini Kaydet
            with open('token.pickle', 'wb') as token:
                pickle.dump(creds, token)
        return creds
    
    1. Grupları Listeleme:
    from googleapiclient.discovery import build
    from google.oauth2 import service_account
    import os
    import pandas as pd
    
    def list_groups(service):
        groups = []
        request = service.groups().list()
        while request is not None:
            response = request.execute()
            groups.extend(response.get('groups', []))
            request = service.groups().list_next(previous_request=request, previous_response=response)
        return groups
    
    def main():
        # Yetkilendirmeyi Gerçekleştir
        creds = authenticate_api()
        # Admin SDK API Hizmetini Oluşturun
        service = build('admin', 'directory_v1', credentials=creds)
        # Grupları Listele
        groups = list_groups(service)
        # Verileri Bir DataFrame'e Dönüştür
        df = pd.DataFrame(groups)
        # DataFrame'i CSV Dosyasına Yazdırın
        df.to_csv('groups.csv', index=False)
    df = pd.DataFrame(groups) # Verileri Bir DataFrame'e Dönüştür
    
    # DataFrame'i CSV Dosyasına Yazdırın
    df.to_csv('groups.csv', index=False)
    df.head()  # İlk 5 Satırı Görüntüle
    

    Eğer client_secret.json dosyanız yoksa, Google Cloud Console’dan bunu indirebilirsiniz. Bu dosya kimlik doğrulama bilgileriniz içerir ve kodun doğru çalışabilmesi için aynı dizinde bulunmalıdır.

    Ayrıca, token.pickle dosyası, ilk çalıştırmada oluşturulacak ve kimlik bilgilerinizi saklayacaktır, böylece her seferinde kimlik doğrulaması yapmanız gerekmez.

    Sorun Giderme

    Eğer yetkilendirme sırasında sorun yaşıyorsanız:

    • Internet tarayıcınızda çerezlerin etkin olduğundan emin olun.
    • Konsoldaki URL’yi doğrudan tarayıcınıza kopyalayıp yapıştırmayı deneyin.
    Scroll to Top