OAuth क्विकस्टार्ट की मदद से पुष्टि करना

Gemini API की मदद से, अपने डेटा का सिमैंटिक डेटा हासिल किया जा सकता है. क्योंकि यह अपना डेटा अपलोड करना चाहते हैं, तो इसके लिए एपीआई कुंजियों की तुलना में ज़्यादा सख्त ऐक्सेस कंट्रोल की ज़रूरत होती है.

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

मकसद

  • OAuth के लिए अपना क्लाउड प्रोजेक्ट सेट अप करना
  • ऐप्लिकेशन-डिफ़ॉल्ट-क्रेडेंशियल सेट अप करें
  • gcloud auth का इस्तेमाल करने के बजाय, अपने प्रोग्राम में क्रेडेंशियल मैनेज करें

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

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

अपना क्लाउड प्रोजेक्ट सेट अप करें

इस क्विकस्टार्ट को पूरा करने के लिए, आपको पहले अपना क्लाउड प्रोजेक्ट सेटअप करना होगा.

1. इस एपीआई को चालू करें

Google API का इस्तेमाल करने से पहले, आपको उन्हें Google Cloud प्रोजेक्ट में चालू करना होगा.

2. उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है

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

  1. Google Cloud Console में, मेन्यू > पर जाएं एपीआई और सेवाएं > OAuth सहमति वाली स्क्रीन.

    उस स्क्रीन पर जाएं जहां OAuth के लिए सहमति दी जाती है

  2. अपने ऐप्लिकेशन के लिए, उपयोगकर्ता का टाइप बाहरी उपयोगकर्ता चुनें. इसके बाद, बनाएं पर क्लिक करें.

  3. ऐप्लिकेशन रजिस्ट्रेशन फ़ॉर्म को भरना (ज़्यादातर फ़ील्ड को खाली छोड़ा जा सकता है), इसके बाद, सेव करें और जारी रखें पर क्लिक करें.

  4. फ़िलहाल, दायरों को जोड़ना स्किप किया जा सकता है. इसके बाद, सेव करें और जारी रखें पर क्लिक करें. इस आने वाले समय में, जब Google Workspace के बाहर इस्तेमाल करने के लिए कोई ऐप्लिकेशन बनाया जाएगा संगठन है, तो आपको ऐसे प्राधिकरण स्कोप जोड़ने और पुष्टि करने होंगे जो आपके के लिए ज़रूरी है.

  5. टेस्ट उपयोगकर्ताओं को जोड़ें:

    1. टेस्ट के उपयोगकर्ता सेक्शन में जाकर, उपयोगकर्ताओं को जोड़ें पर क्लिक करें.
    2. अपना ईमेल पता और टेस्ट के लिए अनुमति पा चुके अन्य उपयोगकर्ताओं की जानकारी डालें. इसके बाद सेव करें और जारी रखें पर क्लिक करें.
  6. अपने ऐप्लिकेशन रजिस्ट्रेशन की खास जानकारी देखें. बदलाव करने के लिए, बदलाव करें पर क्लिक करें. अगर आपने ऐप्लिकेशन रजिस्ट्रेशन ठीक लगता है, तो डैशबोर्ड पर वापस जाएं पर क्लिक करें.

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

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

  1. Google Cloud Console में, मेन्यू > पर जाएं एपीआई और सेवाएं > क्रेडेंशियल.

    क्रेडेंशियल पर जाएं

  2. क्रेडेंशियल बनाएं पर क्लिक करें > OAuth क्लाइंट आईडी.

  3. ऐप्लिकेशन का प्रकार पर क्लिक करें > डेस्कटॉप ऐप्लिकेशन.

  4. नाम फ़ील्ड में, क्रेडेंशियल के लिए कोई नाम लिखें. यह नाम सिर्फ़ जो Google Cloud Console में दिखती है.

  5. बनाएं पर क्लिक करें. आपको OAuth क्लाइंट की बनाई गई स्क्रीन दिखेगी. Client-ID और क्लाइंट सीक्रेट.

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

  7. JSON फ़ाइल को सेव करने के लिए, 'डाउनलोड करें' बटन पर क्लिक करें. इसे इस रूप में सेव किया जाएगा client_secret_<identifier>.json, और इसका नाम बदलकर client_secret.json करें और उसे अपनी वर्किंग डायरेक्ट्री में ट्रांसफ़र करें.

ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल सेट अप करें

client_secret.json फ़ाइल को इस्तेमाल किए जा सकने वाले क्रेडेंशियल में बदलने के लिए, इसकी gcloud auth application-default login कमांड की जगह बदलें --client-id-file आर्ग्युमेंट.

gcloud auth application-default login \
    --client-id-file=client_secret.json \
    --scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.retriever'

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

यह टोकन को जानी-पहचानी जगह पर रखता है, ताकि उसे ऐक्सेस किया जा सके gcloud या क्लाइंट लाइब्रेरी से.

gcloud auth application-default login 
--no-browser --client-id-file=client_secret.json
--scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.retriever'

ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एसीडी) सेट होने के बाद, क्लाइंट ज़्यादातर भाषाओं की लाइब्रेरी को ढूंढने में मदद की ज़रूरत नहीं होती.

Curl

यह काम कर रहा है या नहीं, इसकी जांच करने का सबसे तेज़ तरीका यह है कि इसका इस्तेमाल करके REST का ऐक्सेस पाएं कर्ल का इस्तेमाल करने वाला एपीआई:

access_token=$(gcloud auth application-default print-access-token)
project_id=<MY PROJECT ID>
curl -X GET https://generativelanguage.googleapis.com/v1/models \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer ${access_token}" \
    -H "x-goog-user-project: ${project_id}" | grep '"name"'

Python

Python में, क्लाइंट लाइब्रेरी उन्हें अपने-आप ढूंढ लेती हैं:

pip install google-generativeai

जांच करने के लिए कम से कम स्क्रिप्ट यह हो सकती है:

import google.generativeai as genai

print('Available base models:', [m.name for m in genai.list_models()])

अगले चरण

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

[Python] क्रेडेंशियल खुद मैनेज करना

कई मामलों में, आपके पास ऐक्सेस बनाने के लिए gcloud कमांड उपलब्ध नहीं होगा क्लाइंट आईडी (client_secret.json) से मिला टोकन. Google, इन देशों में लाइब्रेरी उपलब्ध कराता है कई भाषाओं में उपलब्ध हैं, ताकि आप अपने ऐप्लिकेशन में उस प्रोसेस को मैनेज कर सकें. इस सेक्शन पर Python में इस प्रोसेस को दिखाता है. इस तरह के और भी उदाहरण हो सकते हैं अन्य भाषाओं के लिए, Drive API के दस्तावेज़

1. ज़रूरी लाइब्रेरी इंस्टॉल करें

Python के लिए Google की क्लाइंट लाइब्रेरी और Gemini की क्लाइंट लाइब्रेरी इंस्टॉल करें.

pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai

2. क्रेडेंशियल मैनेजर लिखें

आपको प्राधिकरण के माध्यम से क्लिक किए जाने की संख्या कम करने के लिए स्क्रीन, फ़ाइल खोलने के लिए अपनी वर्किंग डायरेक्ट्री में load_creds.py नाम की फ़ाइल बनाएं, token.json फ़ाइल को कैश मेमोरी में सेव करता है, जिसे बाद में फिर से इस्तेमाल किया जा सकता है. इसके अलावा, समयसीमा खत्म होने पर फ़ाइल रीफ़्रेश भी की जा सकती है.

इसके साथ शुरू करें: client_secret.json फ़ाइल को टोकन में बदलने के लिए, यह कोड नीचे दिया गया है: genai.configure:

import os.path

from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = ['https://www.googleapis.com/auth/generative-language.retriever']

def load_creds():
    """Converts `client_secret.json` to a credential object.

    This function caches the generated tokens to minimize the use of the
    consent screen.
    """
    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(
                'client_secret.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())
    return creds

3. अपने लिए प्रोग्राम लिखें

अब अपना script.py बनाएं:

import pprint
import google.generativeai as genai
from load_creds import load_creds

creds = load_creds()

genai.configure(credentials=creds)

print()
print('Available base models:', [m.name for m in genai.list_models()])

4. प्रोग्राम चलाएं

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

python script.py

पहली बार स्क्रिप्ट चलाने पर, यह एक ब्राउज़र विंडो खोलता है और आपको का इस्तेमाल करें.

  1. अगर आपने अपने Google खाते में पहले से साइन इन नहीं किया है, तो आपको साइन इन करें. अगर आपने कई खातों में साइन इन किया है, तो ऐसा खाता जिसे आपने "जांच खाता" के तौर पर सेट किया हो कॉन्फ़िगर करते समय आपको सभी समस्याओं को ठीक करना होगा.

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

आपने पुष्टि करने की सुविधा सेट अप कर ली है.