هذا القسم مخصّص للمستخدمين المتقدّمين الذين يعرفون مواصفات OAuth 2.0 ولديهم خبرة في استخدام OAuth 2.0 مع واجهات Google API.
النطاق
يمكن أن يمنح رمز الدخول الواحد درجات متفاوتة من الوصول إلى واجهات برمجة تطبيقات متعددة. معلَمة متغيرة تُسمى 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، يجب تضمين رمز الدخول في كل طلب. يمكنك ربط 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}" \