Bir alanı güncelleme

Bu rehberde, bir alanı güncellemek için Google Chat API'nin Space kaynağında patch yönteminin nasıl kullanılacağı açıklanmaktadır. Bir alanla ilgili özellikleri (ör. kullanıcı tarafından görülebilen görünen ad, açıklama ve kurallar) değiştirmek için alanı güncelleyin.

Space kaynağı, kullanıcıların ve Chat uygulamalarının mesaj gönderebileceği, dosya paylaşabileceği ve ortak çalışma yapabileceği bir yeri temsil eder. Birkaç alan türü vardır:

  • Doğrudan mesajlar (DM), iki kullanıcı veya bir kullanıcı ile bir Chat uygulaması arasındaki görüşmelerdir.
  • Grup sohbetleri, üç veya daha fazla kullanıcı ile Chat uygulaması arasındaki görüşmelerdir.
  • Adlandırılmış alanlar, kullanıcıların mesaj gönderdiği, dosya paylaştığı ve ortak çalışma yaptığı kalıcı yerlerdir.

Ön koşullar

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetimi aracı
  • Python için en yeni Google istemci kitaplıkları. Bunları 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 Chat API'nin etkin ve yapılandırılmış olduğu bir Google Cloud projesi. Adımlar için Google Chat uygulaması oluşturma başlıklı makaleye göz atın.
  • Yetkilendirme, Chat uygulaması için yapılandırıldı. Alan güncellemek için chat.spaces yetkilendirme kapsamında Kullanıcı kimlik doğrulaması gerekir.

Node.js

  • Node.js ve npm
  • Node.js için en yeni Google istemci kitaplıkları. Bunları yüklemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Google Chat API'nin etkin ve yapılandırılmış olduğu bir Google Cloud projesi. Adımlar için Google Chat uygulaması oluşturma başlıklı makaleye göz atın.
  • Yetkilendirme, Chat uygulaması için yapılandırıldı. Alan güncellemek için chat.spaces yetkilendirme kapsamında Kullanıcı kimlik doğrulaması gerekir.

Alanı güncelleme

Google Chat'teki mevcut bir alanı güncellemek için isteğinizde aşağıdakileri iletin:

  • chat.spaces yetkilendirme kapsamını belirtin.
  • Space kaynağında patch yöntemini çağırın ve güncellenecek alanın name öğesinin yanı sıra, güncellenen alan özelliklerini belirten updateMask vebody parametresini iletin.
  • updateMask, güncellenecek alanın özelliklerini belirtir ve şunları içerir:
    • displayName: Google Chat kullanıcı arayüzünde gösterilen alanın kullanıcı tarafından okunabilir adını günceller. Yalnızca SPACE türündeki bir alanın görünen adının değiştirilmesini veya GROUP_CHAT alan türünü SPACE olarak değiştirmek için spaceType maskesinin dahil edilmesini destekler. Bir GROUP_CHAT veya DIRECT_MESSAGE alanının görünen adını güncellemeye çalışmak, geçersiz bağımsız değişken hatasına neden olur.
    • spaceType: Alan türünü günceller, ancak yalnızca GROUP_CHAT alan türünün SPACE olarak değiştirilmesini destekler. Güncelleme maskesine displayName ve spaceType öğelerini ekleyip belirtilen alanın boş olmayan bir displayName ve SPACE alan türüne sahip olduğundan emin olun. Mevcut alan zaten SPACE türüne sahipse görünen ad güncellenirken belirtilen alandaki spaceType maskesi ve SPACE türü isteğe bağlıdır . Alan türünü başka yollarla güncellemeye çalışmak, geçersiz bağımsız değişken hatasına neden olur.
    • spaceDetails: Açıklama ve kurallar dahil olmak üzere alanla ilgili ayrıntılar.
    • spaceHistoryState: Kuruluş, kullanıcıların geçmiş ayarlarını değiştirmesine izin veriyorsa alan için geçmişe kayıt özelliğinin etkinleştirilmesini veya devre dışı bırakılmasını destekler. Diğer tüm alan yolları ile birlikte kullanılamaz.

Mevcut bir alanın spaceDetails alanını şu şekilde güncelleyebilirsiniz:

Python

  1. Çalışma dizininizde chat_space_update.py adında bir dosya oluşturun.
  2. chat_space_update.py içine şu kodu ekleyin:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.spaces"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then updates the specified space description and guidelines.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                          'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().patch(
    
          # The space to update, and the updated space details.
          #
          # Replace {space} with a space name.
          # Obtain the space name from the spaces resource of Chat API,
          # or from a space's URL.
          name='spaces/SPACE',
          updateMask='spaceDetails',
          body={
    
            'spaceDetails': {
              'description': 'This description was updated with Chat API!',
              'guidelines': 'These guidelines were updated with Chat API!'
            }
    
          }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Kodda, SPACE değerini Chat API'deki spaces.list yönteminden veya alanın URL'sinden alabileceğiniz bir alan adıyla değiştirin.

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

    python3 chat_space_update.py
    

Node.js

  1. Çalışma dizininizde update-space.js adında bir dosya oluşturun.
  2. update-space.js içine şu kodu ekleyin:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Updates a Chat space with the description and guidelines.
    * @return {!Promise<!Object>}
    */
    async function updateSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.patch({
        name: 'spaces/SPACE',
        updateMask: 'spaceDetails',
        requestBody: {
          spaceDetails: {
            description: 'This description was updated with Chat API!',
            guidelines: 'These guidelines were updated with Chat API!'
          },
        }
      });
    }
    
    updateSpace().then(console.log);
    
  3. Kodda, SPACE değerini Chat API'deki spaces.list yönteminden veya alanın URL'sinden alabileceğiniz bir alan adıyla değiştirin.

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

    node update-space.js
    

Google Chat API, güncellemeleri yansıtan Space kaynağının bir örneğini döndürür.