Google Chat स्पेस में मैसेज पिन या अनपिन करना

Chat API में मौजूद MessagePin संसाधन की मदद से, आपका ऐप्लिकेशन मैसेज पिन कर सकता है, मैसेज से पिन किए गए टैग हटा सकता है, और Google Chat स्पेस में पिन किए गए सभी मैसेज की सूची पा सकता है. पिन किए गए मैसेज, स्पेस में शामिल सभी सदस्यों को Chat इंटरफ़ेस में दिखते हैं. यह API, आपके ऐप्लिकेशन को किसी उपयोगकर्ता की ओर से पिन किए गए मैसेज मैनेज करने में मदद करता है.

उपयोगकर्ता स्पेस में मैसेज कैसे पिन करते हैं, इस बारे में जानने के लिए स्पेस और मैसेज में फ़ाइलें, मैसेज, और लिंक पिन करना लेख पढ़ें.

ज़रूरी शर्तें

Node.js

  • Business या Enterprise वर्शन वाला Google Workspace खाता, जिसमें Google Chat का ऐक्सेस हो.

ज़रूरी बातें

  • सिर्फ़ उन मैसेज को पिन किया जा सकता है जो पहले से किसी स्पेस में मौजूद हैं. एक ही अनुरोध में, नया मैसेज नहीं बनाया जा सकता और उसे पिन नहीं किया जा सकता.
  • ऐसे मैसेज पिन नहीं किए जा सकते जो सिर्फ़ आपको दिखते हैं. उदाहरण के लिए, आपको किसी ऐप्लिकेशन से मिले निजी मैसेज पिन करने का विकल्प नहीं मिलता.
  • हर Chat स्पेस में ज़्यादा से ज़्यादा 100 मैसेज पिन किए जा सकते हैं. अगर आपका ऐप्लिकेशन 101वें मैसेज को पिन करने की कोशिश करता है, तो एपीआई गड़बड़ी का मैसेज दिखाता है.

मैसेज पिन करना

उपयोगकर्ता की पुष्टि के साथ किसी मैसेज को पिन करने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:

  • chat.spaces.pins या chat.spaces ऑथराइज़ेशन स्कोप के बारे में बताएं.
  • messagePins.create पर कॉल करें.
  • parent (स्पेस का नाम) तय करें और message मूल मैसेज के संसाधन का नाम के साथ body दें.

यहां स्पेस में किसी मैसेज को पिन करने का उदाहरण दिया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_pin_message.py नाम की एक फ़ाइल बनाएं.
  2. chat_pin_message.py में यह कोड शामिल करें:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then pins a message in a space.
        '''
    
        # Authenticate with Google Workspace and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        service = build('chat', 'v1', credentials=creds)
    
        # Pin a message.
        result = service.spaces().messagePins().create(
            # The space to pin the message in.
            #
            # Replace SPACE with a space ID or name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            parent='spaces/SPACE',
    
            # The message to pin.
            body={
                'message': 'spaces/SPACE/messages/MESSAGE'
            }
        ).execute()
    
        # Print Chat API's response in your command line interface.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, इनकी जगह ये डालें:

    • SPACE: स्पेस के name का आईडी.
    • MESSAGE: मैसेज के name से मिला आईडी.
  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और उसे चलाएं:

    python3 chat_pin_message.py

किसी मैसेज को अनपिन करना

उपयोगकर्ता की पुष्टि की सुविधा का इस्तेमाल करके किसी मैसेज को अनपिन करने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:

  • chat.spaces.pins या chat.spaces ऑथराइज़ेशन स्कोप के बारे में बताएं.
  • messagePins.delete पर कॉल करें.
  • name को मिटाने के लिए, MessagePin के संसाधन का नाम सेट करें.

किसी मैसेज को अनपिन करने का तरीका यहां बताया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_unpin_message.py नाम की एक फ़ाइल बनाएं.
  2. chat_unpin_message.py में यह कोड शामिल करें:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then unpins a message from a space.
        '''
    
        # Authenticate with Google Workspace and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        service = build('chat', 'v1', credentials=creds)
    
        # Unpin a message.
        result = service.spaces().messagePins().delete(
            # The resource name of the message pin to delete.
            #
            # Replace SPACE with a space ID or name, and MESSAGE with the message ID.
            name='spaces/SPACE/messagePins/MESSAGE'
        ).execute()
    
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, इनकी जगह ये डालें:

    • SPACE: स्पेस के name का आईडी.
    • MESSAGE: मैसेज के name से मिला आईडी.
  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और उसे चलाएं:

    python3 chat_unpin_message.py

पिन किए गए मैसेज की सूची पाना

जिन स्पेस का आपके पास ऐक्सेस है उनमें पिन किए गए मैसेज की सूची पाने के लिए, उपयोगकर्ता की पुष्टि करें. साथ ही, अपने अनुरोध में यह जानकारी शामिल करें:

  • पढ़ने का कोई एक स्कोप तय करें: chat.spaces.pins.readonly, chat.spaces.readonly, chat.spaces.pins या chat.spaces.
  • messagePins.list पर कॉल करें.
  • पिन किए गए मैसेज पाने के लिए, स्पेस का नाम parent के तौर पर डालें.

पिन किए गए मैसेज देखने का तरीका यहां बताया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_list_pinned_messages.py नाम की एक फ़ाइल बनाएं.
  2. chat_list_pinned_messages.py में यह कोड शामिल करें:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists pinned messages in a space.
        '''
    
        # Authenticate with Google Workspace and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        service = build('chat', 'v1', credentials=creds)
    
        # List pinned messages.
        result = service.spaces().messagePins().list(
            # The space to list pinned messages from.
            #
            # Replace SPACE with a space ID or name.
            parent='spaces/SPACE'
        ).execute()
    
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, SPACE की जगह स्पेस का आईडी डालें. यह आईडी, स्पेस के name में मौजूद होता है.

  4. अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और उसे चलाएं:

    python3 chat_list_pinned_messages.py