Autentifikimi me fillimin e shpejtë të OAuth

Mënyra më e lehtë për t'u autentifikuar në Gemini API është të konfiguroni një çelës API, siç përshkruhet në udhëzuesin e shpejtë të Gemini API . Nëse keni nevojë për kontrolle më të rrepta të aksesit, mund të përdorni OAuth në vend të tij. Ky udhëzues do t'ju ndihmojë të konfiguroni autentifikimin me OAuth.

Ky udhëzues përdor një qasje të thjeshtuar të vërtetimit që është e përshtatshme për një mjedis testimi. Për një mjedis prodhimi, mësoni rreth vërtetimit dhe autorizimit përpara se të zgjidhni kredencialet e aksesit që janë të përshtatshme për aplikacionin tuaj.

Objektivat

  • Konfiguroni projektin tuaj në cloud për OAuth
  • Konfiguro kredencialet e parazgjedhura të aplikacionit
  • Menaxhoni kredencialet në programin tuaj në vend që të përdorni gcloud auth

Parakushte

Për të ekzekutuar këtë nisje të shpejtë, ju nevojiten:

Konfiguroni projektin tuaj në cloud

Për të përfunduar këtë nisje të shpejtë, së pari duhet të konfiguroni projektin tuaj në Cloud.

1. Aktivizoni API-n

Përpara se të përdorni API-të e Google, duhet t'i aktivizoni ato në një projekt të Google Cloud.

  • Në konsolën e Google Cloud, aktivizoni API-n e Gjuhës Gjenerative të Google.

    Aktivizo API-n

2. Konfiguroni ekranin e pëlqimit OAuth

Më pas konfiguroni ekranin e pëlqimit OAuth të projektit dhe shtoni veten si përdorues testimi. Nëse e keni përfunduar tashmë këtë hap për projektin tuaj në Cloud, kaloni te seksioni tjetër.

  1. Në konsolën e Google Cloud, shkoni te Menuja > Platforma Google Auth > Përmbledhje .

    Shkoni në platformën Google Auth

  2. Plotësoni formularin e konfigurimit të projektit dhe caktoni llojin e përdoruesit në I Jashtëm në seksionin Audienca .

  3. Plotësoni pjesën tjetër të formularit, pranoni kushtet e Politikës së të Dhënave të Përdoruesit dhe më pas klikoni Krijo .

  4. Për momentin, mund ta anashkaloni shtimin e fushave dhe të klikoni Ruaj dhe Vazhdo . Në të ardhmen, kur krijoni një aplikacion për përdorim jashtë organizatës suaj Google Workspace, duhet të shtoni dhe verifikoni fushat e autorizimit që kërkon aplikacioni juaj.

  5. Shto përdorues testimi:

    1. Shko te faqja e Audiencës së platformës Google Auth.
    2. Nën Testimi i përdoruesve , klikoni Shto përdorues .
    3. Futni adresën tuaj të email-it dhe çdo përdorues tjetër të autorizuar për testim, pastaj klikoni Ruaj .

3. Autorizoni kredencialet për një aplikacion desktopi

Për t'u autentifikuar si përdorues fundor dhe për të aksesuar të dhënat e përdoruesit në aplikacionin tuaj, duhet të krijoni një ose më shumë ID klientësh OAuth 2.0. Një ID klienti përdoret për të identifikuar një aplikacion të vetëm në serverët OAuth të Google. Nëse aplikacioni juaj funksionon në platforma të shumta, duhet të krijoni një ID klienti të veçantë për secilën platformë.

  1. Në konsolën e Google Cloud, shkoni te Menuja > Platforma Google Auth > Klientët .

    Shko te Kredencialet

  2. Klikoni Krijo Klientin .

  3. Klikoni Lloji i aplikacionit > Aplikacioni për desktop .

  4. Në fushën Emri , shkruani një emër për kredencialet. Ky emër shfaqet vetëm në konsolën e Google Cloud.

  5. Klikoni Krijo . Shfaqet ekrani i krijuar i klientit OAuth, duke treguar ID-në dhe sekretin e klientit tuaj të ri.

  6. Klikoni OK . Kredencialet e sapokrijuara shfaqen nën ID-të e Klientit OAuth 2.0.

  7. Klikoni butonin "shkarko" për të ruajtur skedarin JSON. Ai do të ruhet si client_secret_<identifier>.json , riemërtojeni atë në client_secret.json dhe zhvendoseni në direktorinë tuaj të punës.

Konfiguro kredencialet e parazgjedhura të aplikacionit

Për ta konvertuar skedarin client_secret.json në kredenciale të përdorshme, kalojeni vendndodhjen e tij argumentin --client-id-file të komandës gcloud auth application-default login .

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'

Konfigurimi i thjeshtuar i projektit në këtë tutorial aktivizon një dialog "Google nuk e ka verifikuar këtë aplikacion." Kjo është normale, zgjidhni "vazhdoni" .

Kjo e vendos tokenin që rezulton në një vendndodhje të njohur mirë, në mënyrë që të mund të aksesohet nga gcloud ose bibliotekat e klientëve.

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'

Pasi të keni vendosur Kredencialet Parazgjedhëse të Aplikacionit (ADC), bibliotekat e klientëve në shumicën e gjuhëve kanë nevojë për ndihmë minimale ose aspak për t'i gjetur ato.

Kaçurrela

Mënyra më e shpejtë për të testuar nëse kjo funksionon është ta përdorni për të aksesuar API-n REST duke përdorur curl:

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

Në Python, bibliotekat e klientëve duhet t'i gjejnë ato automatikisht:

pip install google-genai

Një skript minimal për ta testuar mund të jetë:

from google import genai

client = genai.Client()
print('Available base models:', [m.name for m in client.models.list()])

Hapat e ardhshëm

Nëse kjo funksionon, jeni gati të provoni rikthimin semantik në të dhënat tuaja të tekstit .

Menaxhoni vetë kredencialet [Python]

Në shumë raste, nuk do ta keni komandën gcloud të disponueshme për të krijuar tokenin e aksesit nga ID-ja e Klientit ( client_secret.json ). Google ofron librari në shumë gjuhë për t'ju lejuar të menaxhoni atë proces brenda aplikacionit tuaj. Ky seksion demonstron procesin, në Python. Ka shembuj ekuivalentë të këtij lloji procedure, për gjuhë të tjera, të disponueshëm në dokumentacionin e Drive API.

1. Instaloni libraritë e nevojshme

Instaloni bibliotekën e klientit Google për Python dhe bibliotekën e klientit Gemini.

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

2. Shkruajini menaxherit të kredencialeve

Për të minimizuar numrin e herëve që duhet të klikoni nëpër ekranet e autorizimit, krijoni një skedar të quajtur load_creds.py në direktorinë tuaj të punës për të ruajtur në memorien e përkohshme një skedar token.json që mund ta ripërdorë më vonë ose ta rifreskojë nëse skadon.

Filloni me kodin e mëposhtëm për të konvertuar skedarin client_secret.json në një token të përdorshëm me 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. Shkruani programin tuaj

Tani krijoni script.py tuaj:

import pprint
from google import genai
from load_creds import load_creds

creds = load_creds()

client = genai.Client(credentials=creds)

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

4. Ekzekutoni programin tuaj

Në direktorinë tuaj të punës, ekzekutoni shembullin:

python script.py

Herën e parë që ekzekutoni skriptin, ai hap një dritare të shfletuesit dhe ju kërkon të autorizoni aksesin.

  1. Nëse nuk jeni identifikuar ende në Llogarinë tuaj Google, do t'ju kërkohet të identifikoheni. Nëse jeni identifikuar në llogari të shumta, sigurohuni që të zgjidhni llogarinë që keni vendosur si "Llogari Testimi" kur konfiguroni projektin tuaj.

  2. Informacioni i autorizimit ruhet në sistemin e skedarëve, kështu që herën tjetër që ekzekutoni kodin shembull, nuk do t'ju kërkohet autorizim.

Ju keni konfiguruar me sukses autentifikimin.