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. Kendi uygulamalarınız için istemci kitaplıklarını kullanmanızı öneririz. 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 Apps Script API'sine 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:

  • Google Drive'ın etkin olduğu bir Google Hesabı

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ı yapılandırın 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 Console'da Menü > API'ler ve Hizmetler > OAuth izin ekranı'na gidin.

    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 atlayabilir ve Kaydet ve Devam Et'i tıklayabilirsiniz. Gelecekte, Google Workspace kuruluşunuzun dışında kullanılacak bir uygulama oluşturduğunuzda Kullanıcı türü'nü Harici olarak değiştirmeniz ve ardından uygulamanızın gerektirdiği yetkilendirme kapsamlarını eklemeniz gerekir.

  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. İstemci kimliği, tek bir uygulamanın Google OAuth sunucularına tanıtılması için kullanılır. 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 Console'da gösterilir.
  5. Oluştur'u tıklayın. Yeni istemci kimliğinizi ve istemci gizli anahtarınızı gösteren OAuth istemcisi oluşturuldu ekranı gösterilir.
  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 dosyayı çalışma dizininize taşıyın.

Google istemci kitaplığını yükleme

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

    pip install --upgrade google-api-python-client 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:

    apps_script/quickstart/quickstart.py
    """
    Shows basic usage of the Apps Script API.
    Call the Apps Script API to create a new script project, upload a file to the
    project, and log the script's URL to the user.
    """
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient import errors
    from googleapiclient.discovery import build
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ["https://www.googleapis.com/auth/script.projects"]
    
    SAMPLE_CODE = """
    function helloWorld() {
      console.log("Hello, world!");
    }
    """.strip()
    
    SAMPLE_MANIFEST = """
    {
      "timeZone": "America/New_York",
      "exceptionLogging": "CLOUD"
    }
    """.strip()
    
    
    def main():
      """Calls the Apps Script 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:
        service = build("script", "v1", credentials=creds)
    
        # Call the Apps Script API
        # Create a new project
        request = {"title": "My Script"}
        response = service.projects().create(body=request).execute()
    
        # Upload two files to the project
        request = {
            "files": [
                {"name": "hello", "type": "SERVER_JS", "source": SAMPLE_CODE},
                {
                    "name": "appsscript",
                    "type": "JSON",
                    "source": SAMPLE_MANIFEST,
                },
            ]
        }
        response = (
            service.projects()
            .updateContent(body=request, scriptId=response["scriptId"])
            .execute()
        )
        print("https://script.google.com/d/" + response["scriptId"] + "/edit")
      except errors.HttpError as error:
        # The API encountered a problem.
        print(error.content)
    
    
    if __name__ == "__main__":
      main()

Sana Özel'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 çalışır ve Google Apps Komut Dosyası API'sini çağırır.

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

Sonraki adımlar