Google Workspace aboneliğini güncelleme veya yenileme

Bu sayfada, subscriptions.update() yöntemini kullanarak Google Workspace aboneliğini nasıl yenileyeceğiniz açıklanmaktadır. Bu yöntemi, aboneliğin geçerlilik süresini güncellemek (ör. aboneliği mümkün olan en uzun geçerlilik süresi için yenilemek) veya hedef kaynakla ilgili alınacak etkinlik türlerinin listesini güncellemek için kullanabilirsiniz.

Apps Komut Dosyası

  • Google Workspace aboneliği Abonelik oluşturmak için Abonelik oluşturma başlıklı makaleyi inceleyin.

  • Bir Apps Komut Dosyası projesi:
    • Apps Komut Dosyası tarafından otomatik olarak oluşturulan varsayılan proje yerine Google Cloud projenizi kullanın.
    • OAuth izin ekranını yapılandırmak için eklediğiniz tüm kapsamlar için kapsamları Apps Komut Dosyası projenizdeki appsscript.json dosyasına da eklemeniz gerekir. Örneğin, chat.messages kapsamını belirttiyseniz aşağıdakileri ekleyin:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Google Workspace Events gelişmiş hizmetini etkinleştirin.

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetim aracı
  • Python için en son Google istemci kitaplıkları. Bu araçları yüklemek veya güncellemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Google Workspace aboneliğini yenileme

Bu bölümde, Google Workspace Events API'nin subscriptions.update() yöntemini kullanarak aboneliği maksimum geçerlilik süresine kadar yenileyeceksiniz. Maksimum geçerlilik bitiş zamanını belirtmek için ttl alanını 0 olarak güncellersiniz.Subscription

Maksimum geçerlilik süresi, etkinlik yüküne hangi kaynak verilerinin dahil edildiğine bağlıdır. Son kullanma süreleri hakkında daha fazla bilgi edinmek için Google Workspace etkinlikleri için etkinlik verileri başlıklı makaleyi inceleyin.

Google Workspace aboneliğini yenilemek için:

Apps Komut Dosyası

  1. Apps Komut Dosyası projenizde updateSubscription adlı yeni bir komut dosyası oluşturun ve aşağıdaki kodu ekleyin:

    function updateSubscription() {
      // The name of the subscription to update.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.patch({
        ttl: '0s',
      }, name);
      console.log(response);
    }
    

    Aşağıdakini değiştirin:

    • SUBSCRIPTION_ID: Aboneliğin kimliği. Kimliği almak için aşağıdakilerden herhangi birini kullanabilirsiniz:
      • uid alanının değeri.
      • name alanında gösterilen kaynak adının kimliği. Örneğin, kaynak adı subscriptions/subscription-123 ise subscription-123 kullanın.
  2. Google Workspace aboneliğini güncellemek için Apps Komut Dosyası projenizde updateSubscription işlevini çalıştırın.

Python

  1. Çalışma dizininizde update_subscription.py adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:

    """Update subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    BODY = {
        'ttl': {'seconds': 0},
    }
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = (
        service.subscriptions()
        .patch(name=NAME, updateMask='ttl', body=BODY)
        .execute()
    )
    print(response)
    

    Aşağıdakini değiştirin:

    • SCOPES: Abonelik için her etkinlik türünü destekleyen bir veya daha fazla OAuth kapsamı. Dize dizisi olarak biçimlendirilir. Birden fazla kapsamı listelemek için virgülle ayırın. Örneğin, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • SUBSCRIPTION_ID: Aboneliğin kimliği. Kimliği almak için aşağıdakilerden herhangi birini kullanabilirsiniz:
      • uid alanının değeri.
      • name alanında gösterilen kaynak adının kimliği. Örneğin, kaynak adı subscriptions/subscription-123 ise subscription-123 kullanın.
  2. Çalışma dizininizde OAuth istemci kimliği kimlik bilgilerini sakladığınızdan ve dosyayı credentials.json olarak adlandırdığınızdan emin olun. Kod örneği, Google Workspace ile kimlik doğrulaması yapmak ve kullanıcı kimlik bilgilerini almak için bu JSON dosyasını kullanır. Talimatlar için OAuth istemci kimliği kimlik bilgileri oluşturma başlıklı makaleye bakın.

  3. Google Workspace aboneliğini güncellemek için terminalinizde aşağıdakileri çalıştırın:

    python3 update_subscription.py
Google Workspace Events API, Subscription kaynağının örneğini içeren bir uzun süreli işlem döndürür.

Güncellenen Subscription kaynağıyla ilgili ayrıntıları almak için operations.get() yöntemini kullanın ve subscriptions.update() isteğinizden döndürülen Operation kaynağını belirtin. Aksi takdirde, aboneliğin önceki bir sürümünden Operation kaynağı belirtirseniz yanıt boş olur.

Aboneliği Google Chat uygulaması olarak güncelleme veya yenileme

Chat etkinliklerine yönelik abonelikleri kullanıcı olarak değil, Chat uygulaması olarak güncelleyebilir veya yenileyebilirsiniz. Süreç benzerdir ancak:

  1. Kullanıcı kimlik doğrulaması yerine tek seferlik yönetici onayıyla Chat uygulaması olarak kimliğinizi doğrulayın.

  2. Chat uygulamasının Chat etkinliklerine abone olmasına izin veren yetkilendirme kapsamlarını belirtin. Bu yetkilendirme kapsamları her zaman chat.app ile başlar ve şunları içerir:

    • https://www.googleapis.com/auth/chat.app.memberships: Chat alanı üyesi etkinliklerine abone olun.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Chat alanı mesaj etkinliklerine abone olun.
    • https://www.googleapis.com/auth/chat.app.spaces: Chat alanı etkinliklerine abone olun.

API anahtarı oluşturma

Bir geliştirici önizlemesi API yöntemini çağırmak için API bulma belgesinin herkese açık olmayan bir geliştirici önizlemesi sürümünü kullanmanız gerekir. İsteğin kimliğini doğrulamak için bir API anahtarı iletmeniz gerekir.

API anahtarı oluşturmak için uygulamanızın Google Cloud projesini açın ve aşağıdakileri yapın:

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik Bilgileri'ne gidin.

    Kimlik Bilgileri'ne git

  2. Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
  3. Yeni API anahtarınız gösterilir.
    • Uygulamanızın kodunda kullanmak üzere API anahtarınızı kopyalamak için Kopyala'yı tıklayın. API anahtarını, projenizin kimlik bilgilerinin "API Anahtarları" bölümünde de bulabilirsiniz.
    • Yetkisiz kullanımı önlemek için API anahtarının nerede ve hangi API'ler için kullanılabileceğini kısıtlamanızı öneririz. Daha fazla bilgi için API kısıtlamaları ekleme başlıklı makaleyi inceleyin.

Google Workspace Events API'yi çağıran bir komut dosyası yazma

Aşağıdaki kod örneği, bir Chat uygulamasının Google Workspace aboneliğini günceller:

Python

  """Update subscription."""

  from google.oauth2 import service_account
  from apiclient.discovery import build

  # Specify required scopes.
  SCOPES = [SCOPES]

  # Specify service account details.
  CREDENTIALS = (
      service_account.Credentials.from_service_account_file('credentials.json')
      .with_scopes(SCOPES)
  )

  # Call the Workspace Events API using the service endpoint.
  service = build(
      'workspaceevents',
      'v1beta',
      credentials=CREDENTIALS,
      discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
  )

  BODY = {
      'ttl': {'seconds': 0},
  }
  NAME = 'subscriptions/SUBSCRIPTION_ID'
  response = (
      service.subscriptions()
      .patch(name=NAME, updateMask='ttl', body=BODY)
      .execute()
  )
  print(response)

Aşağıdakini değiştirin:

  • SCOPES: Chat uygulamasının Chat etkinliklerine abone olmasına izin veren yetkilendirme kapsamlarını belirtin. Bu yetkilendirme kapsamları her zaman chat.app ile başlar ve şunları içerir:

    • https://www.googleapis.com/auth/chat.app.memberships: Chat alanı üyesi etkinliklerine abone olun.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Chat alanı mesajı ve tepki etkinliklerine abone olun.
    • https://www.googleapis.com/auth/chat.app.spaces: Chat alanı etkinliklerine abone olun.
  • API_KEY: Google Workspace Events API için hizmet uç noktası oluşturmak üzere oluşturduğunuz API anahtarı.

  • SUBSCRIPTION_ID: Aboneliğin kimliği. Kimliği almak için aşağıdakilerden herhangi birini kullanabilirsiniz:

    • uid alanının değeri.
    • name alanında gösterilen kaynak adının kimliği. Örneğin, kaynak adı subscriptions/subscription-123 ise subscription-123 kullanın.