تفاصيل بروتوكول 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}" \