איך מוחקים תגובה מהודעה?

במדריך הזה מוסבר איך משתמשים בשיטה delete במשאב Reaction ב-Google Chat API כדי למחוק תגובה מהודעה, כמו 👍, 🚲 ו-🌞. מחיקת תגובה לא מוחקת את ההודעה.

המשאב Reaction מייצג אמוג'י שאנשים יכולים להשתמש בו כדי להגיב להודעה, למשל 👍, 🚲 ו-🌞.

דרישות מוקדמות

Python

  • Python 3.6 ומעלה
  • הכלי pip לניהול חבילות
  • ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • פרויקט ב-Google Cloud שמופעל ומוגדר בו Google Chat API. במאמר איך מפתחים אפליקציות ב-Google Chat מוסבר איך עושים את זה.
  • הוגדרה הרשאה לאפליקציית Chat. כדי למחוק תגובה, צריך לבצע אימות משתמש עם היקף ההרשאה chat.messages.reactions או chat.messages.

איך מוחקים תגובות באמוג'י

כדי למחוק תגובה מהודעה, צריך להעביר את הפרטים הבאים בבקשה:

  • מציינים את היקף ההרשאה chat.messages.reactions או chat.messages.
  • קוראים ל-method delete במשאב Reaction.
  • מגדירים את name כשם המשאב של התגובה שרוצים למחוק.

הדוגמה הבאה מוחקת את התגובה 😀

Python

  1. בספריית העבודה, יוצרים קובץ בשם chat_reaction_delete.py.
  2. צריך לכלול את הקוד הבא ב-chat_reaction_delete.py:

    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.reactions"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes a reaction to 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().reactions().delete(
    
            # The reaction 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.
            #
            # Replace REACTION with a reaction name.
            # Obtain the reaction name from the reaction resource of Chat API.
            name = 'spaces/SPACE/messages/MESSAGE/reactions/REACTION'
    
        ).execute()
    
    if __name__ == '__main__':
        main()
    
  3. בקוד, מחליפים את מה שכתוב בשדות הבאים:

    • SPACE: שם המרחב, שאפשר לקבל באמצעות ה-method spaces.list ב-Chat API או מכתובת ה-URL של המרחב.
    • MESSAGE: שם ההודעה, שאפשר לקבל מגוף התשובה שמוחזר אחרי שיוצרים הודעה באופן אסינכרוני באמצעות Chat API, או עם השם המותאם אישית שהוקצה להודעה בזמן יצירת ההודעה.
    • REACTION: שם התגובה, שאפשר לקבל באמצעות ה-method spaces.messages.reactions.list ב-Chat API או מגוף התשובה שמוחזר אחרי יצירת תגובה באופן אסינכרוני באמצעות Chat API.
  4. בספריית העבודה, יוצרים ומריצים את הדוגמה:

    python3 chat_reaction_delete.py
    

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק, סימן שהתגובה נמחקה.