OAuth 2.0 Internals for Google Ads API

این بخش برای کاربران پیشرفته‌ای در نظر گرفته شده است که از قبل با مشخصات OAuth 2.0 آشنا هستند و می‌دانند چگونه از OAuth 2.0 با API های گوگل استفاده کنند .

محدوده

یک توکن دسترسی واحد می‌تواند درجات مختلفی از دسترسی به چندین API را اعطا کند. یک پارامتر متغیر به نام scope مجموعه منابع و عملیاتی را که یک توکن دسترسی مجاز می‌داند، کنترل می‌کند. در طول درخواست توکن دسترسی، برنامه شما یک یا چند مقدار را در پارامتر scope ارسال می‌کند.

محدوده API تبلیغات گوگل عبارت است از:

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

دسترسی آفلاین

برای یک برنامه کلاینت API گوگل ادز، درخواست دسترسی آفلاین امری رایج است. برای مثال، ممکن است برنامه شما بخواهد وقتی کاربر آنلاین نیست و در حال مرور وب‌سایت شما نیست، کارهای دسته‌ای را اجرا کند.

برای درخواست دسترسی آفلاین برای یک نوع برنامه وب، مطمئن شوید که پارامتر access_type را روی offline تنظیم کرده‌اید. می‌توانید اطلاعات بیشتر را در راهنمای OAuth2 گوگل بیابید.

برای نوع برنامه دسکتاپ، دسترسی آفلاین به طور پیش‌فرض فعال است - لازم نیست صریحاً آن را درخواست کنید.

درخواست سربرگ‌ها

هدرهای gRPC

هنگام استفاده از API مربوط به gRPC، توکن دسترسی را در هر درخواست وارد کنید. می‌توانید یک Credential را به یک Channel متصل کنید تا در تمام درخواست‌های آن کانال استفاده شود. همچنین می‌توانید برای هر تماس، یک اعتبارنامه سفارشی ارسال کنید. راهنمای مجوزدهی gRPC شامل جزئیات بیشتری در مورد مدیریت مجوزدهی است.

هدرهای REST

هنگام استفاده از REST API، توکن دسترسی را از طریق هدر HTTP Authorization ارسال کنید. یک نمونه درخواست HTTP در زیر نشان داده شده است:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   DEVELOPER_TOKEN,
#   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 "developer-token: ${DEVELOPER_TOKEN}" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \