احراز هویت و مجوز

مانند سایر APIهای Google، API Google Ads از پروتکل OAuth 2.0 برای احراز هویت و مجوز استفاده می کند. OAuth 2.0 برنامه سرویس گیرنده Google Ads API را قادر می سازد تا بدون نیاز به مدیریت یا ذخیره اطلاعات ورود به سیستم کاربر، به حساب Google Ads کاربر دسترسی داشته باشد.

مدل دسترسی به تبلیغات گوگل را درک کنید

برای کار موثر با Google Ads API، باید نحوه عملکرد مدل دسترسی Google Ads را بدانید. اکیداً توصیه می‌کنیم راهنمای مدل دسترسی Google Ads را مطالعه کنید.

گردش کار OAuth

هنگام کار با Google Ads API سه گردش کار رایج وجود دارد.

جریان حساب خدمات

اگر گردش کار شما نیازی به تعامل انسانی نداشته باشد، این گردش کاری توصیه شده است. این گردش کار به یک مرحله پیکربندی نیاز دارد، جایی که کاربر یک حساب سرویس را به حساب Google Ads خود اضافه می کند. سپس برنامه می‌تواند از اعتبار حساب سرویس برای مدیریت حساب Google Ads کاربر استفاده کند. کتابخانه به صورت زیر پیکربندی شده است:


// Initialize a GoogleAdsConfig class.
GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
    LoginCustomerId = ******
};

// Initialize a GoogleAdsClient class.
GoogleAdsClient client = new GoogleAdsClient(config);

برای کسب اطلاعات بیشتر به راهنمای گردش کار حساب خدمات مراجعه کنید.

جریان احراز هویت تک کاربره

اگر نمی توانید از حساب های سرویس استفاده کنید، این گردش کار ممکن است استفاده شود. این گردش کار به دو مرحله پیکربندی نیاز دارد:

  1. به یک کاربر اجازه دهید به همه حساب‌هایی که با استفاده از Google Ads API مدیریت می‌شوند دسترسی داشته باشد. یک رویکرد رایج این است که کاربر را به یک حساب مدیر Google Ads API بدهید و همه حساب‌های Google Ads را تحت آن حساب مدیر پیوند دهید.
  2. کاربر ابزاری مانند gcloud CLI یا مثال کد GenerateUserCredentials را اجرا می‌کند تا به برنامه شما اجازه دهد تا از طرف او تمام حساب‌های Google Ads خود را مدیریت کند.

کتابخانه را می توان با استفاده از اطلاعات کاربری OAuth 2.0 کاربر به صورت زیر مقداردهی کرد:

GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
    DeveloperToken = DEVELOPER_TOKEN,
    LoginCustomerId = LOGIN_CUSTOMER_ID,
    OAuth2ClientId = OAUTH_CLIENT_ID,
    OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
    OAuth2RefreshToken = REFRESH_TOKEN,
};

GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);

برای کسب اطلاعات بیشتر به راهنمای گردش کار احراز هویت یک کاربر مراجعه کنید.

جریان احراز هویت چند کاربره

اگر برنامه شما به کاربران اجازه می‌دهد وارد سیستم شوند و به برنامه شما اجازه دهند تا حساب‌های Google Ads خود را از طرف آن‌ها مدیریت کنند، این جریان کاری توصیه‌شده است. برنامه شما اعتبار کاربری OAuth 2.0 را می سازد و مدیریت می کند. کتابخانه را می توان با استفاده از اعتبار کاربر به صورت زیر مقداردهی کرد:

GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
    DeveloperToken = DEVELOPER_TOKEN,
    LoginCustomerId = LOGIN_CUSTOMER_ID,
    OAuth2ClientId = OAUTH_CLIENT_ID,
    OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
    OAuth2RefreshToken = REFRESH_TOKEN,
};

GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);

برای کسب اطلاعات بیشتر به راهنمای گردش کار احراز هویت چند کاربره مراجعه کنید. کتابخانه مشتری دات نت شامل دو نمونه کد برای مرجع است:

  1. مثال کد AuthenticateInAspNetCoreApplication نحوه ساخت یک برنامه وب را نشان می دهد که در زمان اجرا احراز هویت کاربر را برای مدیریت حساب های Google Ads خود از طرف آنها دریافت می کند. این برنامه از اعتبارنامه OAuth 2.0 کاربر برای بازیابی کمپین ها در حساب Google Ads آنها استفاده می کند.

  2. GenerateUserCredentials یک نمونه کد خط فرمان است که نحوه به دست آوردن احراز هویت کاربر در زمان اجرا برای مدیریت حساب‌های Google Ads آنها از طرف آنها را نشان می‌دهد. می توانید از این مثال کد به عنوان مرجعی برای ساخت برنامه های دسکتاپ که نیاز به احراز هویت کاربر دارند استفاده کنید.

اگر کاربر من چندین حساب را مدیریت کند چه؟

معمولاً یک کاربر بیش از یک حساب Google Ads را از طریق دسترسی مستقیم به حساب ها یا از طریق یک حساب مدیر Google Ads مدیریت می کند. کتابخانه سرویس گیرنده دات نت نمونه های کد زیر را ارائه می دهد که نحوه رسیدگی به چنین مواردی را نشان می دهد.

  1. مثال کد GetAccountHierarchy نحوه بازیابی لیست همه حساب‌های تحت یک حساب مدیر Google Ads را نشان می‌دهد.
  2. مثال کد ListAccessibleCustomers نشان می دهد که چگونه می توان لیست تمام حساب هایی را که کاربر مستقیماً به آنها دسترسی دارد، بازیابی کرد. سپس این حساب ها می توانند به عنوان مقادیر معتبر برای تنظیمات LoginCustomerId استفاده شوند.