تفاصيل بروتوكول OAuth 2.0 في Google Ads API

هذا القسم مخصّص للمستخدمين المتقدّمين الذين يعرفون مواصفات OAuth 2.0 ويعرفون كيفية استخدام OAuth 2.0 مع Google APIs.

النطاق

يمكن أن يمنح رمز الدخول الواحد مستويات مختلفة من إمكانية الوصول إلى واجهات برمجة تطبيقات متعددة. تتحكّم مَعلمة متغيّرة تُسمّى scope في مجموعة الموارد والعمليات التي يسمح بها رمز الدخول. أثناء طلب رمز الدخول، يرسل تطبيقك قيمة واحدة أو أكثر في المَعلمة scope.

نطاق Google Ads API هو:

https://www.googleapis.com/auth/adwords

الوصول بلا إنترنت ومدة صلاحية الرموز

من الشائع أن يطلب تطبيق عميل Google Ads API إمكانية الوصول بلا إنترنت. على سبيل المثال، قد يريد تطبيقك تشغيل مهام مجمّعة عندما لا يكون المستخدم متصلاً بالإنترنت ويتصفّح موقعك الإلكتروني. تكون رموز الدخول صالحة لمدة 3,600 ثانية (ساعة واحدة)، وبعد ذلك يجب أن يستبدل تطبيقك رمز إعادة التحميل برمز دخول جديد.

لطلب التشغيل بلا إنترنت لنوع تطبيق الويب، تأكَّد من ضبط المَعلمة access_type على offline. يمكنك العثور على معلومات إضافية في دليل OAuth 2.0 من Google.

بالنسبة إلى نوع تطبيق متوافق مع الكمبيوتر المكتبي، يتم تفعيل التشغيل بلا إنترنت تلقائيًا، ولا عليك طلبها صراحةً.

عناوين الطلبات

يجب أن تتضمّن جميع الطلبات إلى Google Ads API رمز الدخول OAuth 2.0 في عنوان الطلب. توضّح الأقسام التالية كيفية تمرير بيانات الاعتماد هذه باستخدام gRPC وREST.

عناوين gRPC

عند استخدام gRPC API، يجب تضمين رمز الدخول في كل طلب. يمكنك ربط Credential بـ Channel لاستخدامه في جميع الطلبات على تلك القناة. يمكنك أيضًا إرسال بيانات اعتماد مخصّصة لكل طلب. يحتوي دليل تفويض gRPC على مزيد من التفاصيل حول معالجة التفويض.

عناوين REST

عند استخدام REST API، يجب تمرير رمز الدخول من خلال عنوان HTTP Authorization: Bearer <ACCESS_TOKEN>. في ما يلي مثال على طلب HTTP:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \