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:
- Google Cloud Console’a gidin.
- Hesabınızla oturum açın ve sol üst köşede “Proje Seç”e tıklayın.
- “Yeni Proje”ye tıklayın ve projeniz için bir ad girin.
- Aynı ekranda “Oluştur”e tıklayın.
2. Google Gruplar API’sını etkinleştirin:
- Google Cloud Console’daki projenizi seçin.
- “API ve Hizmetler”e gidin ve “Kitaplık” seçeneğine tıklayın.
- Arama çubuğuna “Google Gruplar API” yazın.
- API’yi bulun ve “Etkinleştir”e tıklayın.
3. Kimlik Bilgileri Oluşturun:
- API ve Hizmetler > Kimlik Bilgileri’ne gidin.
- “Kimlik Bilgileri Oluştur”e tıklayın ve “OAuth istemci kimliği”ni seçin.
- Ekranda istenen bilgileri doldurun (örneğin, uygulama türini “Masaüstü uygulaması” olarak seçin).
- Oluşturduğunuzda istemci kimliği ve istemci sırrı gösterilecektir; bunları not edin.
4. OAuth2 Yetkilendirmesini Yapın:
- Kütüphaneler klasörünü oluşturun:
- Terminal veya Komut İstemi’nde şu komutu çalıştırın:
mkdir kütüphaneler
ol>
cd libraries
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib google-api-core google-auth
- 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
- 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.