مانند سایر APIهای گوگل، API گوگل ادز از پروتکل OAuth 2.0 برای احراز هویت و مجوز استفاده میکند. OAuth 2.0 به برنامه کلاینت API گوگل ادز شما این امکان را میدهد که بدون نیاز به مدیریت یا ذخیره اطلاعات ورود کاربر، به حساب گوگل ادز او دسترسی پیدا کند.
مدل دسترسی به گوگل ادز را درک کنید
برای کار مؤثر با API گوگل ادز، باید نحوهی عملکرد مدل دسترسی گوگل ادز را درک کنید. توصیه میکنیم راهنمای مدل دسترسی گوگل ادز را مطالعه کنید.
گردشهای کاری OAuth
سه گردش کار رایج هنگام کار با API گوگل ادز وجود دارد.
جریان حساب خدمات
اگر گردش کار شما نیازی به تعامل انسانی ندارد، این گردش کار توصیه میشود. این گردش کار نیاز به یک مرحله پیکربندی دارد که در آن کاربر یک حساب سرویس به حساب Google Ads خود اضافه میکند. سپس برنامه میتواند از اعتبارنامههای حساب سرویس برای مدیریت حساب Google Ads کاربر استفاده کند. کتابخانه PHP را میتوان به صورت زیر پیکربندی کرد:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withJsonKeyFilePath('PATH_TO_CREDENTIALS_JSON')
->withScopes('https://www.googleapis.com/auth/adwords')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->build();
برای کسب اطلاعات بیشتر به راهنمای گردش کار حساب سرویس مراجعه کنید.
جریان احراز هویت تک کاربره
اگر نمیتوانید از حسابهای سرویس استفاده کنید، میتوانید از این گردش کار استفاده کنید. این گردش کار به دو مرحله پیکربندی نیاز دارد:
- به یک کاربر واحد اجازه دسترسی به تمام حسابهایی که قرار است با استفاده از Google Ads API مدیریت شوند را بدهید. یک رویکرد رایج این است که به کاربر یک حساب کاربری مدیریت Google Ads API بدهید و تمام حسابهای Google Ads را به آن حساب کاربری مدیریت لینک کنید.
سپس آن کاربر یک ابزار خط فرمان مانند
GenerateUserCredentialsرا اجرا میکند.تا به برنامه شما اجازه دهد تا از طرف آنها تمام حسابهای گوگل ادز خود را مدیریت کند.
این کتابخانه میتواند با استفاده از اعتبارنامههای OAuth 2.0 کاربر به صورت زیر مقداردهی اولیه شود:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID')
->withClientSecret('INSERT_CLIENT_SECRET')
->withRefreshToken('INSERT_REFRESH_TOKEN')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
به راهنمای گردش کار احراز هویت تک کاربره مراجعه کنید
برای کسب اطلاعات بیشتر.
جریان احراز هویت چند کاربره
اگر برنامه شما به کاربران اجازه میدهد وارد سیستم شوند و به برنامه شما اجازه دهند تا حسابهای Google Ads خود را از طرف آنها مدیریت کند، این گردش کار توصیه میشود. برنامه شما اعتبارنامههای کاربر OAuth 2.0 را ایجاد و مدیریت میکند. این کتابخانه را میتوان با استفاده از اعتبارنامههای کاربر به شرح زیر مقداردهی اولیه کرد:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID')
->withClientSecret('INSERT_CLIENT_SECRET')
->withRefreshToken('INSERT_REFRESH_TOKEN')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
به راهنمای گردش کار احراز هویت چند کاربره مراجعه کنید
برای کسب اطلاعات بیشتر.
اگر کاربر من چندین حساب کاربری را مدیریت کند، چه میشود؟
رایج است که یک کاربر بیش از یک حساب گوگل ادز را مدیریت کند، چه از طریق دسترسی مستقیم به حسابها و چه از طریق یک حساب مدیریت گوگل ادز. کتابخانه کلاینت PHP نمونههای کد زیر را ارائه میدهد که نحوه مدیریت چنین مواردی را نشان میدهد.
این مثال کد نحوه بازیابی لیست همه حسابهای کاربری تحت یک حساب مدیریت تبلیغات گوگل را نشان میدهد.
این مثال کد نشان میدهد که چگونه میتوان لیست تمام حسابهایی را که یک کاربر به آنها دسترسی مستقیم دارد، بازیابی کرد. سپس میتوان از این حسابها به عنوان مقادیر معتبر برای تنظیم
loginCustomerIdاستفاده کرد.