Python क्विकस्टार्ट

एक Python कमांड-लाइन ऐप्लिकेशन बनाएं, जो Google Chat API को अनुरोध भेजता हो.

क्विकस्टार्ट में, Google Workspace API को कॉल करने वाले ऐप्लिकेशन को सेट अप और चलाने का तरीका बताया गया है. इस क्विकस्टार्ट में, पुष्टि करने का आसान तरीका इस्तेमाल किया गया है. यह टेस्टिंग एनवायरमेंट के लिए सही है. हमारा सुझाव है कि प्रोडक्शन एनवायरमेंट के लिए, ऐक्सेस क्रेडेंशियल चुनने से पहले, पुष्टि करने और अनुमति देने के बारे में जान लें. इससे आपको अपने ऐप्लिकेशन के लिए सही क्रेडेंशियल चुनने में मदद मिलेगी.

इस क्विकस्टार्ट में, Google Workspace की सुझाई गई एपीआई क्लाइंट लाइब्रेरी का इस्तेमाल किया जाता है. इससे पुष्टि करने और अनुमति देने की प्रोसेस की कुछ जानकारी को मैनेज किया जा सकता है.

मकसद

  • अपना एनवायरमेंट सेट अप करें.
  • क्लाइंट लाइब्रेरी इंस्टॉल करें.
  • सैंपल सेट अप करें.
  • सैंपल चलाएं.

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

इस क्विकस्टार्ट को चलाने के लिए, आपको ये ज़रूरी शर्तें पूरी करनी होंगी:

  • आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.

अपना एनवायरमेंट सेट अप करने का तरीका

इस क्विकस्टार्ट को पूरा करने के लिए, अपना एनवायरमेंट सेट अप करें.

एपीआई चालू करना

Google API का इस्तेमाल करने से पहले, आपको उन्हें Google Cloud प्रोजेक्ट में चालू करना होगा. एक ही Google Cloud प्रोजेक्ट में, एक या उससे ज़्यादा एपीआई चालू किए जा सकते हैं.

अगर आपको इस क्विकस्टार्ट को पूरा करने के लिए, नए Google Cloud प्रोजेक्ट का इस्तेमाल करना है, तो उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth को सहमति दी जाती है. अगर आपने अपने Cloud प्रोजेक्ट के लिए यह चरण पहले ही पूरा कर लिया है, तो अगले सेक्शन पर जाएं.

  1. Google Cloud console में, मेन्यू > > ब्रैंडिंग पर जाएं.

    ब्रैंडिंग पर जाएं

  2. अगर आपने पहले ही को कॉन्फ़िगर कर लिया है, तो ब्रैंडिंग, दर्शक, और डेटा ऐक्सेस में जाकर, OAuth सहमति स्क्रीन की इन सेटिंग को कॉन्फ़िगर किया जा सकता है. अगर आपको अभी तक कॉन्फ़िगर नहीं किया गया है मैसेज दिखता है, तो शुरू करें पर क्लिक करें:
    1. ऐप्लिकेशन की जानकारी में जाकर, ऐप्लिकेशन का नाम में ऐप्लिकेशन का नाम डालें.
    2. उपयोगकर्ता सहायता के लिए ईमेल पता में, सहायता के लिए वह ईमेल पता चुनें जिस पर उपयोगकर्ता, सहमति से जुड़े सवालों के लिए आपसे संपर्क कर सकें.
    3. आगे बढ़ें पर क्लिक करें.
    4. दर्शक सेक्शन में जाकर, संगठन के अंदर से जनरेट होने वाला ट्रैफ़िक चुनें.
    5. आगे बढ़ें पर क्लिक करें.
    6. संपर्क जानकारी में जाकर, वह ईमेल पता डालें जिस पर आपको अपने प्रोजेक्ट में हुए किसी भी बदलाव के बारे में सूचना मिल सके.
    7. आगे बढ़ें पर क्लिक करें.
    8. पूरा करें में जाकर, Google API सेवाओं के उपयोगकर्ता के डेटा की नीति पढ़ें. अगर आप इससे सहमत हैं, तो मैं Google API सेवाओं के उपयोगकर्ता के डेटा की नीति से सहमत हूं को चुनें.
    9. जारी रखें पर क्लिक करें.
    10. बनाएं पर क्लिक करें.
  3. फ़िलहाल, स्कोप जोड़ने की प्रोसेस को स्किप किया जा सकता है. अगर आपको आने वाले समय में, अपने Google Workspace संगठन के बाहर इस्तेमाल करने के लिए कोई ऐप्लिकेशन बनाना है, तो आपको उपयोगकर्ता का टाइप बदलकर बाहरी करना होगा. इसके बाद, अपने ऐप्लिकेशन के लिए ज़रूरी अनुमति के स्कोप जोड़ें. ज़्यादा जानने के लिए, OAuth की सहमति कॉन्फ़िगर करना गाइड पढ़ें.

डेस्कटॉप ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना

असली उपयोगकर्ताओं की पुष्टि करने और अपने ऐप्लिकेशन में उपयोगकर्ता का डेटा ऐक्सेस करने के लिए, आपको एक या उससे ज़्यादा OAuth 2.0 क्लाइंट आईडी बनाने होंगे. क्लाइंट आईडी का इस्तेमाल, Google के OAuth सर्वर पर किसी एक ऐप्लिकेशन की पहचान करने के लिए किया जाता है. अगर आपका ऐप्लिकेशन कई प्लैटफ़ॉर्म पर काम करता है, तो आपको हर प्लैटफ़ॉर्म के लिए अलग क्लाइंट आईडी बनाना होगा.
  1. Google Cloud Console में, मेन्यू > > क्लाइंट पर जाएं.

    क्लाइंट पर जाएं

  2. क्लाइंट बनाएं पर क्लिक करें.
  3. ऐप्लिकेशन का टाइप > डेस्कटॉप ऐप्लिकेशन पर क्लिक करें.
  4. नाम फ़ील्ड में, क्रेडेंशियल के लिए कोई नाम टाइप करें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
  5. बनाएं पर क्लिक करें.

    नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.

  6. डाउनलोड की गई JSON फ़ाइल को credentials.json के तौर पर सेव करें. इसके बाद, फ़ाइल को अपनी वर्किंग डायरेक्ट्री में ले जाएं.

Google Chat ऐप्लिकेशन को कॉन्फ़िगर करना

Google Chat API को कॉल करने के लिए, आपको Google Chat ऐप्लिकेशन कॉन्फ़िगर करना होगा. लिखने के किसी भी अनुरोध के लिए, Google Chat, यूज़र इंटरफ़ेस (यूआई) में Google Chat ऐप्लिकेशन को एट्रिब्यूट करता है. इसके लिए, वह इस जानकारी का इस्तेमाल करता है.

  1. Google Cloud Console में, Chat API के Configuration पेज पर जाएं:

    Chat API कॉन्फ़िगरेशन पेज पर जाएं

  2. आवेदन की जानकारी में जाकर, यह जानकारी डालें:

    1. ऐप्लिकेशन का नाम फ़ील्ड में, Chat API quickstart app डालें.
    2. अवतार का यूआरएल फ़ील्ड में, https://developers.google.com/chat/images/quickstart-app-avatar.png डालें.
    3. ब्यौरा फ़ील्ड में, Quickstart for calling the Chat API डालें.
  3. इंटरैक्टिव सुविधाएं में जाकर, इंटरैक्टिव सुविधाएं चालू करें टॉगल को बंद करें पर क्लिक करें. इससे Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाएं बंद हो जाएंगी.

  4. सेव करें पर क्लिक करें.

Google क्लाइंट लाइब्रेरी इंस्टॉल करना

  • Python के लिए Google क्लाइंट लाइब्रेरी इंस्टॉल करें:

    pip install --upgrade google-apps-chat google-auth-httplib2 google-auth-oauthlib
    

सैंपल को कॉन्फ़िगर करना

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

    chat/quickstart/quickstart.py
    from __future__ import print_function
    
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from google.apps import chat_v1 as google_chat
    
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ['https://www.googleapis.com/auth/chat.spaces.readonly']
    
    
    def main():
        """Shows basic usage of the Google Chat API.
        """
        creds = None
        # The file token.json stores the user's access and refresh tokens, and is
        # created automatically when the authorization flow completes for the first
        # time.
        if os.path.exists('token.json'):
            creds = Credentials.from_authorized_user_file('token.json', SCOPES)
        # If there are no (valid) credentials available, let the user log in.
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            else:
                flow = InstalledAppFlow.from_client_secrets_file(
                    'credentials.json', SCOPES)
                creds = flow.run_local_server(port=0)
            # Save the credentials for the next run
            with open('token.json', 'w') as token:
                token.write(creds.to_json())
    
        try:
            # Create a client
            client = google_chat.ChatServiceClient(
                credentials = creds,
                client_options = {
                    "scopes" : SCOPES
                }
            )
    
            # Initialize request argument(s)
            request = google_chat.ListSpacesRequest(
                # Filter spaces by space type (SPACE or GROUP_CHAT or DIRECT_MESSAGE)
                filter = 'space_type = "SPACE"'
            )
    
            # Make the request
            page_result = client.list_spaces(request)
    
            # Handle the response. Iterating over page_result will yield results and
            # resolve additional pages automatically.
            for response in page_result:
                print(response)
        except Exception as error:
            # TODO(developer) - Handle errors from Chat API.
            print(f'An error occurred: {error}')
    
    
    if __name__ == '__main__':
        main()

सैंपल चलाना

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

    python3 quickstart.py
    
  1. पहली बार सैंपल चलाने पर, आपको ऐक्सेस की अनुमति देने के लिए कहा जाएगा:
    1. अगर आपने Google खाते में पहले से साइन इन नहीं किया है, तो मांगे जाने पर साइन इन करें. अगर आपने एक से ज़्यादा खातों में साइन इन किया हुआ है, तो पुष्टि के लिए किसी एक खाते को चुनें.
    2. स्वीकार करें पर क्लिक करें.

    आपका Python ऐप्लिकेशन चलता है और Google Chat API को कॉल करता है.

    अनुमति से जुड़ी जानकारी, फ़ाइल सिस्टम में सेव की जाती है. इसलिए, अगली बार सैंपल कोड चलाने पर, आपसे अनुमति नहीं मांगी जाती.

अगले चरण