Python hızlı başlangıç kılavuzu

Hızlı başlangıç kılavuzlarında, Google Workspace API'yi çağıran bir uygulamanın nasıl oluşturulacağı ve çalıştırılacağı açıklanmaktadır.

Google Workspace hızlı başlangıç kılavuzları, kimlik doğrulama ve yetkilendirme akışının bazı ayrıntılarını işlemek için API istemci kitaplıklarını kullanır. Önerilerimiz: istemci kitaplıklarını kullanmayı tercih edebilirsiniz. Bu hızlı başlangıç kılavuzunda, test ortamı için uygun olan basitleştirilmiş bir kimlik doğrulama yaklaşımı kullanılmaktadır. Üretim ortamında, uygulamanız için uygun erişim kimlik bilgilerini seçmeden önce kimlik doğrulama ve yetkilendirme hakkında bilgi edinmenizi öneririz.

Google Chat API'ye istek gönderen bir Python komut satırı uygulaması oluşturun.

Hedefler

  • Ortamınızı ayarlayın.
  • İstemci kitaplığını yükleyin.
  • Numuneyi ayarlayın.
  • Örneği çalıştırın.

Ön koşullar

Bu hızlı başlangıç kılavuzunu çalıştırmak için aşağıdaki ön koşullara sahip olmanız gerekir:

Ortamınızı ayarlama

Bu hızlı başlangıç kılavuzunu tamamlamak için ortamınızı ayarlayın.

API'yi etkinleştirme

Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API'yi etkinleştirebilirsiniz.

Bu hızlı başlangıç kılavuzunu tamamlamak için yeni bir Google Cloud projesi kullanıyorsanız OAuth izin ekranını ziyaret edin ve kendinizi test kullanıcısı olarak ekleyin. Cloud projeniz için bu adımı zaten tamamladıysanız sonraki bölüme geçin.

  1. Google Cloud konsolunda Menü'ye gidin > API'lar ve Hizmetler > OAuth izin ekranı.

    OAuth izin ekranına gidin

  2. Kullanıcı türü için Dahili'yi seçin ve Oluştur'u tıklayın.
  3. Uygulama kayıt formunu doldurup Kaydet ve Devam Et'i tıklayın.
  4. Şimdilik kapsam eklemeyi atlayıp Kaydet ve Devam Et'i tıklayabilirsiniz. Gelecekte Google Workspace kuruluşu kullanıyorsanız Kullanıcı türü'nü Harici olarak değiştirmeniz ve ardından Uygulamanızın gerektirdiği yetkilendirme kapsamlarını ekleyin.

  5. Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Uygulama kaydının sorunsuz görünmesi durumunda Kontrol paneline dön'ü tıklayın.

Masaüstü uygulaması için kimlik bilgilerini yetkilendirme

Son kullanıcıların kimliğini doğrulamak ve uygulamanızdaki kullanıcı verilerine erişmek için bir veya daha fazla OAuth 2.0 istemci kimliği oluşturmanız gerekir. Client-ID, bir tek bir uygulamayı Google'ın OAuth sunucularına göndermesini sağlar. Uygulamanız birden fazla platformda çalışıyorsa her platform için ayrı bir istemci kimliği oluşturmanız gerekir.
  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Masaüstü uygulaması'nı tıklayın.
  4. Ad alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud konsolunda gösterilir.
  5. Oluştur'u tıklayın. Yeni İstemci Kimliğiniz ve İstemci sırrınızın gösterildiği, OAuth istemcisi oluşturuldu ekranı görüntülenir.
  6. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi OAuth 2.0 İstemci Kimlikleri altında görünür.
  7. İndirilen JSON dosyasını credentials.json olarak kaydedin ve çalışma dizininize eklemeniz gerekir.

Google Chat uygulamasını yapılandırma

Google Chat API'yi çağırmak için bir Google Chat uygulaması yapılandırmanız gerekir. Google Chat, yazma istekleri için aşağıdaki bilgileri kullanarak kullanıcı arayüzündeki Google Chat uygulamasını ilişkilendirir.

  1. Google Cloud Console'da Chat API Yapılandırma sayfasına gidin:

    Chat API Yapılandırması sayfasına gidin

  2. Application info (Uygulama bilgileri) altında aşağıdaki bilgileri girin:

    1. Uygulama adı alanına Chat API quickstart app girin.
    2. Avatar URL'si alanına şunu girin: https://developers.google.com/chat/images/quickstart-app-avatar.png.
    3. Açıklama alanına Quickstart for calling the Chat API yazın.
  3. Etkileşimli özellikler bölümünde, Etkileşimli özellikleri etkinleştir açma/kapatma düğmesini kapalı konuma getirerek Chat uygulamasının etkileşimli özelliklerini devre dışı bırakın.

  4. Kaydet'i tıklayın.

Google istemci kitaplığını yükleme

  • Python için Google istemci kitaplığını yükleyin:

    pip install --upgrade google-apps-chat google-auth-httplib2 google-auth-oauthlib
    

Örneği yapılandırma

  1. Çalışma dizininizde quickstart.py adlı bir dosya oluşturun.
  2. quickstart.py dosyasına aşağıdaki kodu ekleyin:

    chat/quickstart/quickstart.py
    from __future__ import print_function
    
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from google.apps import chat_v1 as google_chat
    
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ['https://www.googleapis.com/auth/chat.spaces.readonly']
    
    
    def main():
        """Shows basic usage of the Google Chat API.
        """
        creds = None
        # The file token.json stores the user's access and refresh tokens, and is
        # created automatically when the authorization flow completes for the first
        # time.
        if os.path.exists('token.json'):
            creds = Credentials.from_authorized_user_file('token.json', SCOPES)
        # If there are no (valid) credentials available, let the user log in.
        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(
                    'credentials.json', SCOPES)
                creds = flow.run_local_server(port=0)
            # Save the credentials for the next run
            with open('token.json', 'w') as token:
                token.write(creds.to_json())
    
        try:
            # Create a client
            client = google_chat.ChatServiceClient(
                credentials = creds,
                client_options = {
                    "scopes" : SCOPES
                }
            )
    
            # Initialize request argument(s)
            request = google_chat.ListSpacesRequest(
                # Filter spaces by space type (SPACE or GROUP_CHAT or DIRECT_MESSAGE)
                filter = 'space_type = "SPACE"'
            )
    
            # Make the request
            page_result = client.list_spaces(request)
    
            # Handle the response. Iterating over page_result will yield results and
            # resolve additional pages automatically.
            for response in page_result:
                print(response)
        except Exception as error:
            # TODO(developer) - Handle errors from Chat API.
            print(f'An error occurred: {error}')
    
    
    if __name__ == '__main__':
        main()

Örneği çalıştırma

  1. Çalışma dizininizde örneği derleyip çalıştırın:

    python3 quickstart.py
    
  1. Sana Özel örneğini ilk kez çalıştırdığınızda erişim için yetki vermenizi ister:
    1. Google Hesabınızda oturum açmadıysanız istendiğinde oturum açın. Birden fazla hesapta oturum açtıysanız yetkilendirme için kullanılacak bir hesap seçin.
    2. Kabul et'i tıklayın.

    Python uygulamanız, Google Chat API'yi çalıştırır ve çağırır.

    Yetkilendirme bilgileri dosya sisteminde depolandığından, örnek kodu bir sonraki sefer çalıştırdığınızda yetkilendirme istenir.

Sonraki adımlar