Mesajı silme

Bu kılavuzda, delete yönteminin Message kaynağında nasıl kullanılacağı açıklanmaktadır. Google Chat API'yi kullanarak bir kısa mesaj veya kart mesajını silin.

İlgili içeriği oluşturmak için kullanılan Message kaynak temsil eder metin veya kart mesajı görebilirsiniz. Şunları yapabilirsiniz: Şu numarayı arayarak Google Chat API'de bir mesaj: create, get, update veya delete yöntemler. Kısa mesajlar ve kart mesajları hakkında daha fazla bilgi edinmek için bkz. Google Chat mesajlarına genel bakış

Ön koşullar

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetim aracı
  • Python için en yeni Google istemci kitaplıkları. Bu uygulamaları 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-auth
    
  • Google Chat API'nin etkinleştirildiği ve yapılandırıldığı bir Google Cloud projesi Adımlar için bkz. Google Chat uygulaması oluşturun.
  • Chat uygulaması için yetkilendirme yapılandırıldı. Siliniyor Bir mesaj aşağıdaki kimlik doğrulama yöntemlerinin ikisini de destekler:

Kullanıcı kimlik doğrulamasıyla mesajı silme

Kullanıcı kimlik doğrulaması yapılmış bir iletiyi silmek için: isteğinizde aşağıdakileri iletin:

  • chat.messages yetkilendirme kapsamını belirtin.
  • Şunu çağırın: delete yöntem uygulamasında Message kaynak.
  • name öğesini, silinecek mesajın kaynak adı olarak ayarlayın.

Aşağıdaki örnekte, kullanıcı kimlik doğrulaması:

Python

  1. Çalışma dizininizde şu ada sahip bir dosya oluşturun: chat_message_delete_user.py
  2. Aşağıdaki kodu chat_message_delete_user.py bölümüne 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.messages"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes a message.
        '''
    
        # 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().messages().delete(
    
            # The message to delete.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MESSAGE with a message name.
            # Obtain the message name from the response body returned
            # after creating a message asynchronously with Chat REST API.
            name = 'spaces/SPACE/messages/MESSAGE'
    
        ).execute()
    
        # Prints response to the Chat API call.
        # When deleting a message, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Bu kodda, aşağıdakini değiştirin:

    • SPACE: şuradan alabileceğiniz bir alan adı: "the" spaces.list yöntem API'den veya bir alanın URL'sinden.
    • MESSAGE: edinebileceğiniz bir mesaj adı eşzamansız olarak bir ileti oluşturduktan sonra döndürülen yanıt gövdesinden veya özel ad , oluşturma sırasında mesaja atanır.
  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_message_delete_user.py
    

Başarılı olursa yanıt gövdesi boş olur. Bu, iletinin silindi.

Uygulama kimlik doğrulamasını içeren mesajı silme

Şununla bir iletiyi silmek için: uygulama kimlik doğrulamasını yapmak için aşağıdaki bilgileri de ekleyebilirsiniz:

Aşağıdaki örnekte, uygulama kimlik doğrulaması:

Python

  1. Çalışma dizininizde şu ada sahip bir dosya oluşturun: chat_delete_message_app.py
  2. Aşağıdaki kodu chat_delete_message_app.py bölümüne ekleyin:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Delete a Chat message.
    result = chat.spaces().messages().delete(
    
      # The message to delete.
      #
      # Replace SPACE with a space name.
      # Obtain the space name from the spaces resource of Chat API,
      # or from a space's URL.
      #
      # Replace MESSAGE with a message name.
      # Obtain the message name from the response body returned
      # after creating a message asynchronously with Chat REST API.
      name='spaces/SPACE/messages/MESSAGE'
    
    ).execute()
    
    # Print Chat API's response in your command line interface.
    # When deleting a message, the response body is empty.
    print(result)
    
  3. Bu kodda, aşağıdakini değiştirin:

    • SPACE: alanın name. mesajı gönderilir. Bu mesajı spaces.list yöntemi API'den veya bir alanın URL'sinden.
    • MESSAGE: Edinebileceğiniz mesaj adı eşzamansız olarak bir ileti oluşturduktan sonra döndürülen yanıt gövdesinden veya özel ad , oluşturma sırasında mesaja atanır.
  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_delete_message_app.py
    

Başarılı olursa yanıt gövdesi boş olur. Bu, iletinin silindi.