تتيح لك واجهة برمجة التطبيقات Gemini API استرجاع بياناتك الخاصة. نظرًا لأنه بياناتك، فإن ذلك يتطلب عناصر تحكم أكثر صرامة في الوصول إلى البيانات من مفاتيح واجهة برمجة التطبيقات.
يستخدم هذا البدء السريع طريقة مصادقة مبسطة مناسبة لبيئة اختبار. بالنسبة لبيئة إنتاج، تعرف على تقريبًا المصادقة والتفويض قبل اختيار بيانات اعتماد الوصول المناسبة لتطبيقك.
الأهداف
- إعداد مشروعك على السحابة الإلكترونية لبروتوكول OAuth
- إعداد بيانات الاعتماد التلقائية للتطبيق
- إدارة بيانات الاعتماد في برنامجك بدلاً من استخدام
gcloud auth
المتطلبات الأساسية
لتشغيل هذه البدء السريع، تحتاج إلى:
إعداد مشروعك على السحابة الإلكترونية
لإكمال عملية البدء السريع هذه، عليك أولاً إعداد مشروعك على Google Cloud.
1. تفعيل واجهة برمجة التطبيقات
قبل استخدام Google APIs، يجب تفعيلها في مشروع على Google Cloud.
في "وحدة تحكُّم Google Cloud"، فعِّل واجهة برمجة التطبيقات Google Generative Language API.
2. ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
بعد ذلك، اضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth للمشروع وأضِف نفسك كاختبار. المستخدم. إذا سبق وأكملت هذه الخطوة لمشروعك على السحابة الإلكترونية، انتقِل إلى في القسم التالي.
في وحدة التحكّم في Google Cloud، انتقِل إلى القائمة > واجهات برمجة التطبيقات الخدمات > OAuth شاشة طلب الموافقة
اختَر نوع المستخدم خارجي لتطبيقك، ثمّ انقر على إنشاء.
أكمِل نموذج تسجيل التطبيق (يمكنك ترك معظم الحقول فارغة). ثم انقر على حفظ ومتابعة.
في الوقت الحالي، يمكنك تخطّي إضافة النطاقات والنقر على حفظ ومتابعة. في جلسة المعمل، في المستقبل، عند إنشاء تطبيق لاستخدامه خارج Google Workspace يجب إضافة نطاقات التفويض التي تستخدمها والتحقق منها يتطلبها التطبيق.
إضافة مستخدمين للاختبار:
- ضمن المستخدمون التجريبيون، انقر على إضافة مستخدمين.
- أدخِل عنوان بريدك الإلكتروني وأي مستخدمين تجريبيين معتمَدين آخرين، ثم انقر على حفظ ومتابعة.
مراجعة ملخّص تسجيل التطبيق لإجراء تغييرات، انقر على تعديل. في حال حذف كان تسجيل التطبيق يبدو على ما يرام، انقر على الرجوع إلى لوحة البيانات.
3- مصادقة بيانات الاعتماد لتطبيق سطح المكتب
للمصادقة كمستخدم نهائي والوصول إلى بيانات المستخدمين في تطبيقك، عليك: إنشاء معرِّف عميل OAuth 2.0 واحد أو أكثر. يُستخدم معرف العميل لتحديد تطبيقًا واحدًا بخوادم OAuth في Google. إذا كان تطبيقك يعمل على أنظمة أساسية متعدّدة عليك إنشاء معرِّف عميل منفصل لكل منصّة.
في وحدة التحكّم في Google Cloud، انتقِل إلى القائمة > واجهات برمجة التطبيقات الخدمات > بيانات الاعتماد:
انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
انقر على نوع التطبيق > تطبيق متوافق مع أجهزة الكمبيوتر المكتبي:
في حقل الاسم، اكتب اسمًا لبيانات الاعتماد. هذا الاسم هو فقط كما هو موضح في وحدة تحكم Google Cloud.
انقر على إنشاء. تظهر الشاشة التي تم إنشاؤها من خلال عميل OAuth تعرض معرِّف العميل وسر العميل.
انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن عميل OAuth 2.0. المعرّفات المطلوبة
انقر على زر التنزيل لحفظ ملف 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'
وبمجرد تعيين بيانات الاعتماد الافتراضية للتطبيق (ACD)، المكتبات بمعظم اللغات لا تحتاج إلى داعٍ للمساعدة في العثور عليها.
Curl
أسرع طريقة لاختبار عمل ذلك هي استخدامه للوصول إلى REST واجهة برمجة التطبيقات باستخدام 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
في بايثون، من المفترض أن تعثر مكتبات العميل عليها تلقائيًا:
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 مكتبات في
بلغات عديدة لتتمكّن من إدارة هذه العملية داخل تطبيقك. هذا القسم
يوضح العملية، في بايثون. توجد أمثلة مماثلة لهذا النوع
من الإجراءات، للغات أخرى، في
مستندات واجهة برمجة تطبيقات Drive
1. تثبيت المكتبات الضرورية
تثبيت مكتبة برامج Google للغة Python ومكتبة عملاء 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
في المرة الأولى التي تُشغِّل فيها النص البرمجي، يتم فتح نافذة متصفِّح وتظهر رسالة مطالبة لمنح إذن الوصول.
إذا لم تكن قد سجّلت الدخول إلى حسابك على Google، سيُطلب منك لتسجيل الدخول. إذا كنت قد سجلت الدخول إلى حسابات متعددة، فتأكد من تحديد الذي ضبطته على أنّه "حساب تجريبي" عند إعداد مشروعك
يتم تخزين معلومات التفويض في نظام الملفات، لذا في المرة القادمة التي تشغيل نموذج التعليمات البرمجية، فلن يُطلب منك منح الإذن.
لقد أعددت المصادقة بنجاح.