בתהליך העבודה של אימות משתמשים מרובים, אתם יוצרים תהליך OAuth משלכם כדי לאמת את המשתמשים. במסמכי Google Identity מפורטים סוגים שונים של אפליקציות, וגם הגדרות הפרויקט ב-Google Cloud Console שנדרשות כדי לתמוך בסוג האפליקציה. כל סוגי האפליקציות האלה נתמכים על ידי Google Ads API. פרטים טכניים נוספים שחשוב לזכור:
כדי לגשת אל Google Ads API, צריך להגדיר את האפליקציה כך שתבצע אימות להיקף הבא:
https://www.googleapis.com/auth/adwords
יכול להיות שהאפליקציה תצטרך לבצע קריאות ל-API בשם המשתמש בזמן שהוא במצב אופליין. תרחיש נפוץ הוא הורדה של מדדי חשבון אופליין כדי ליצור דוחות ולבצע ניתוח של החשבון. לכן, מומלץ לבקש גישה אופליין ל-OAuth.
צריך לעבור את תהליך האימות של אפליקציית OAuth ולקבל אישור לאפליקציה.
הגדרת ספריית לקוח
אחרי שמאשרים את המשתמש ומקבלים פרטי כניסה מסוג OAuth 2.0, אפשר להגדיר את ספריית הלקוח לפי ההוראות בכרטיסייה שמתאימה לשפת התכנות.
Java
אפשר לאתחל את המופע GoogleAdsClient
בזמן הריצה באמצעות פרטי הכניסה שהתקבלו מהמשתמש שהחשבונות שלו מבצעים קריאות ל-API.
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.
.NET
אפשר לאתחל את המופע GoogleAdsClient
בזמן הריצה באמצעות פרטי הכניסה שהתקבלו מהמשתמש שהחשבונות שלו מבצעים קריאות ל-API.
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);
אפשרויות נוספות מפורטות במדריך ההגדרה.
Python
אפשר לאתחל את המופע GoogleAdsClient
בזמן הריצה באמצעות פרטי הכניסה שהתקבלו מהמשתמש שהחשבונות שלו מבצעים קריאות ל-API.
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
בזמן הריצה באמצעות פרטי הכניסה שהתקבלו מהמשתמש שהחשבונות שלו מבצעים קריאות ל-API.
$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();
אפשרויות נוספות מפורטות במדריך ההגדרה.
Ruby
אפשר לאתחל את המופע GoogleAdsClient
בזמן הריצה באמצעות פרטי הכניסה שהתקבלו מהמשתמש שהחשבונות שלו מבצעים קריאות ל-API.
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
אפשרויות נוספות מפורטות במדריך ההגדרה.
Perl
אפשר לאתחל את המופע GoogleAdsClient
בזמן הריצה באמצעות פרטי הכניסה שהתקבלו מהמשתמש שהחשבונות שלו מבצעים קריאות ל-API.
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");
אפשרויות נוספות מפורטות במדריך ההגדרה.
curl
מתחילים בשימוש בלקוח 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"
}