Google Chat स्पेस के इवेंट की सूची बनाना

इस गाइड में बताया गया है कि स्पेस में संसाधनों की सूची में बदलाव करने के लिए, Google Chat API के SpaceEvent संसाधन पर list तरीके का इस्तेमाल कैसे करें.

SpaceEvent रिसॉर्स, टारगेट स्पेस में होने वाले बदलाव को दिखाता है. इसमें स्पेस के चाइल्ड रिसॉर्स के बारे में जानकारी शामिल होती है. जैसे, मैसेज, प्रतिक्रियाएं, और सदस्यताएं. इवेंट टाइप की सूची और इस्तेमाल किए जा सकने वाले इवेंट पेलोड के बारे में ज़्यादा जानकारी के लिए, SpaceEvent संसाधन के रेफ़रंस दस्तावेज़ में, eventType और payload फ़ील्ड देखें.

अनुरोध किए जाने के समय से 28 दिन पहले तक, इवेंट की सूची बनाई जा सकती है. सर्वर ऐसे इवेंट दिखाता है जिनमें समस्या वाले संसाधन का सबसे नया वर्शन शामिल होता है. उदाहरण के लिए, अगर स्पेस के नए सदस्यों के बारे में इवेंट की सूची बनाई जाती है, तो सर्वर Membership ऐसे संसाधन दिखाता है जिनमें सदस्यता की नई जानकारी शामिल होती है. अगर अनुरोध की गई अवधि के दौरान, नए सदस्यों को हटाया गया है, तो इवेंट पेलोड में Membership संसाधन खाली है.

इस तरीके को कॉल करने के लिए, आपको उपयोगकर्ता की पुष्टि करना होगा. किसी स्पेस के इवेंट की सूची बनाने के लिए, यह ज़रूरी है कि पुष्टि किया गया उपयोगकर्ता स्पेस का सदस्य हो.

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

Python

  • Python 3.6 या इससे नया वर्शन
  • pip पैकेज मैनेजमेंट टूल
  • Python के लिए नई Google क्लाइंट लाइब्रेरी. उन्हें इंस्टॉल या अपडेट करने के लिए, अपने कमांड-लाइन इंटरफ़ेस में नीचे दिया गया कमांड चलाएं:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • ऐसा Google Cloud प्रोजेक्ट जिसमें Google Chat API चालू हो और उसे कॉन्फ़िगर किया गया हो. तरीका जानने के लिए, Google Chat ऐप्लिकेशन बनाना देखें.
  • Chat ऐप्लिकेशन के लिए, अनुमति देने की प्रोसेस कॉन्फ़िगर कर दी गई है. SpaceEvent संसाधन की सूची में, पुष्टि करने के इन तरीकों का इस्तेमाल किया जा सकता है:

स्पेस के इवेंट की सूची बनाना

किसी चैट स्पेस से स्पेस के इवेंट को सूची में जोड़ने के लिए, यह तरीका अपनाएं:

  • SpaceEvent संसाधन पर list वाला तरीका कॉल करें.
  • filter फ़ील्ड का इस्तेमाल करके तय करें कि किस तरह के इवेंट को लिस्ट करना है. आपको कम से कम एक इवेंट टाइप तय करना होगा. साथ ही, तारीख के हिसाब से भी इवेंट को फ़िल्टर किया जा सकता है. इस्तेमाल किए जा सकने वाले इवेंट टाइप की सूची देखने के लिए, eventType फ़ील्ड देखें.
  • उपयोगकर्ता की पुष्टि करने की सुविधा की मदद से, अपने अनुरोध में हर इवेंट टाइप के साथ काम करने के लिए, अनुमति के एक या उससे ज़्यादा स्कोप तय करें. सबसे सही तरीका यह है कि सबसे पाबंदी वाला स्कोप चुनें, ताकि आपका ऐप्लिकेशन अब भी काम करे. स्कोप चुनने के लिए, पुष्टि करने और अनुमति देने से जुड़ी खास जानकारी देखें.

यहां दिए गए कोड सैंपल में, स्पेस में नई सदस्यताओं और मैसेज के बारे में इवेंट की सूची दी गई है.

Python

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

    """Lists SpaceEvent resources from the Chat API."""
    
    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.memberships.readonly",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # 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().spaceEvents().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. कोड में, इन्हें बदलें:

    • SPACE: स्पेस का नाम, जिसे Chat API में spaces.list तरीके से या स्पेस के यूआरएल से पाया जा सकता है.
  4. अपनी वर्किंग डायरेक्ट्री में, यह सैंपल बनाएं और चलाएं:

    python3 chat_space_event_list.py
    

Chat API, नई सदस्यताओं और मैसेज के बारे में SpaceEvent संसाधनों वाले इवेंट की सूची दिखाता है.

खोज नतीजों में दिखने वाले नंबर को पसंद के मुताबिक बनाएं

इसके अलावा, पेज पर नंबर डालने की प्रक्रिया को पसंद के मुताबिक बनाने के लिए, इन क्वेरी पैरामीटर को पास करें:

  • pageSize: लौटाए जाने वाले ज़्यादा से ज़्यादा SpaceEvent संसाधनों की संख्या. सेवा, इस वैल्यू से कम वैल्यू दिखा सकती है. नेगेटिव वैल्यू दिखाने पर INVALID_ARGUMENT गड़बड़ी दिखती है.
  • pageToken: पेज का टोकन, जो स्पेस इवेंट की पिछली सूची से मिला टोकन होता है. अगले पेज को फिर से पाने के लिए यह टोकन दें. पेज पर नंबर लगाते समय, फ़िल्टर की वैल्यू, पेज टोकन से मिले कॉल से मैच करनी चाहिए. कोई अलग वैल्यू पास करने पर, अनचाहे नतीजे मिल सकते हैं.