در گردش کار احراز هویت چند کاربره، شما جریان OAuth خود را برای احراز هویت کاربران خود ایجاد می کنید. چندین نوع برنامه وجود دارد که به عنوان بخشی از اسناد هویت Google مورد بحث قرار گرفته است، و پیکربندی پروژه Google Cloud Console که برای پشتیبانی از آن نوع برنامه نیاز دارید. همه این انواع برنامه توسط Google Ads API پشتیبانی می شوند. جزئیات فنی اضافی که باید در نظر داشت عبارتند از:
برای دسترسی به Google Ads API، باید برنامه خود را برای احراز هویت برای محدوده زیر پیکربندی کنید:
https://www.googleapis.com/auth/adwords
برنامه شما ممکن است مجبور باشد زمانی که کاربر آفلاین است از طرف او تماس های API برقرار کند. یک سناریوی متداول این است که معیارهای حساب را به صورت آفلاین بارگیری کنید تا گزارشات تولید کنید و تجزیه و تحلیل حساب را انجام دهید. به همین دلیل، توصیه میکنیم دسترسی آفلاین OAuth را درخواست کنید.
باید مراحل تأیید برنامه OAuth را طی کنید و برنامه خود را تأیید کنید.
پیکربندی کتابخانه مشتری
هنگامی که کاربر را مجاز کردید و اعتبارنامه OAuth 2.0 را دریافت کردید، می توانید کتابخانه مشتری را با دنبال کردن دستورالعمل های موجود در برگه مربوط به زبان برنامه نویسی خود پیکربندی کنید.
جاوا
میتوانید نمونه GoogleAdsClient
خود را در زمان اجرا، با استفاده از اعتبارنامههایی که از کاربری دریافت کردهاید، مقداردهی اولیه کنید.
UserCredentials credentials =
UserCredentials.newBuilder()
.setClientId(OAUTH_CLIENT_ID)
.setClientSecret(OAUTH_CLIENT_SECRET)
.setRefreshToken(REFRESH_TOKEN)
.build();
// Creates a GoogleAdsClient with the provided credentials.
GoogleAdsClient client =
GoogleAdsClient.newBuilder()
// Sets the developer token which enables API access.
.setDeveloperToken(DEVELOPER_TOKEN)
// Sets the OAuth credentials which provide Google Ads account access.
.setCredentials(credentials)
// Optional: sets the login customer ID.
.setLoginCustomerId(Long.valueOf(LOGIN_CUSTOMER_ID))
.build();
``` See the [configuration guide][java-config-guide] for additional options.
دات نت
میتوانید نمونه GoogleAdsClient
خود را در زمان اجرا، با استفاده از اعتبارنامههایی که از کاربری دریافت کردهاید، مقداردهی اولیه کنید.
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);
برای گزینه های اضافی به راهنمای پیکربندی مراجعه کنید.
پایتون
میتوانید نمونه GoogleAdsClient
خود را در زمان اجرا، با استفاده از اعتبارنامههایی که از کاربری دریافت کردهاید، مقداردهی اولیه کنید.
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"developer_token": "INSERT_DEVELOPER_TOKEN_HERE",
"login_customer_id": "INSERT_LOGIN_CUSTOMER_ID_HERE",
"refresh_token": "REFRESH_TOKEN",
"client_id": "OAUTH_CLIENT_ID",
"client_secret": "OAUTH_CLIENT_SECRET"}
client = GoogleAdsClient.load_from_dict(credentials)
برای گزینه های اضافی به راهنمای پیکربندی مراجعه کنید.
PHP
میتوانید نمونه GoogleAdsClient
خود را در زمان اجرا، با استفاده از اعتبارنامههایی که از کاربری دریافت کردهاید، مقداردهی اولیه کنید.
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
برای گزینه های اضافی به راهنمای پیکربندی مراجعه کنید.
روبی
میتوانید نمونه GoogleAdsClient
خود را در زمان اجرا، با استفاده از اعتبارنامههایی که از کاربری دریافت کردهاید، مقداردهی اولیه کنید.
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
config.client_secret = 'INSERT_CLIENT_SECRET_HERE'
config.refresh_token = 'INSERT_REFRESH_TOKEN_HERE'
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
config.developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
end
برای گزینه های اضافی به راهنمای پیکربندی مراجعه کنید.
پرل
میتوانید نمونه GoogleAdsClient
خود را در زمان اجرا، با استفاده از اعتبارنامههایی که از کاربری دریافت کردهاید، مقداردهی اولیه کنید.
my $api_client = Google::Ads::GoogleAds::Client->new({
developer_token => "INSERT_DEVELOPER_TOKEN_HERE",
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});
my $oauth2_applications_handler = $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN");
برای گزینه های اضافی به راهنمای پیکربندی مراجعه کنید.
حلقه کردن
با استفاده از یک سرویس گیرنده HTTP برای واکشی نشانه دسترسی OAuth 2.0 شروع کنید. این راهنما از دستور curl
استفاده می کند.
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/token
اکنون می توانید از نشانه دسترسی در تماس های API خود استفاده کنید. مثال زیر نحوه اجرای یک گزارش کمپین را با استفاده از روش GoogleAdsService.SearchStream
برای بازیابی کمپین های موجود در حساب خود نشان می دهد. این راهنما جزئیات گزارش را پوشش نمی دهد.
curl -i -X POST https://googleads.googleapis.com/v21/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"
محتویات query.json
به شرح زیر است:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}