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

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

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

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

मकसद

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

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

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

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

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

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

एपीआई को चालू करें

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

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

  1. Google के एपीआई कंसोल में, मेन्यू > Google Auth प्लैटफ़ॉर्म > ब्रैंडिंग पर जाएं.

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

  2. अगर आपने Google Auth प्लैटफ़ॉर्म को पहले ही कॉन्फ़िगर कर लिया है, तो ब्रैंडिंग, दर्शक, और डेटा ऐक्सेस में, OAuth को सहमति देने वाली स्क्रीन की ये सेटिंग कॉन्फ़िगर की जा सकती हैं. अगर आपको Google Auth प्लैटफ़ॉर्म को अब तक कॉन्फ़िगर नहीं किया गया है मैसेज दिखता है, तो शुरू करें पर क्लिक करें:
    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 में, मेन्यू > Google Auth प्लैटफ़ॉर्म > क्लाइंट पर जाएं.

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

  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 के एपीआई कंसोल में, Chat API के कॉन्फ़िगरेशन पेज पर जाएं:

    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 की क्लाइंट लाइब्रेरी इंस्टॉल करें:

    python3 -m 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 को कॉल करता है.

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

अगले चरण