תהליך עבודה של אימות משתמשים מרובים

בתהליך העבודה של אימות משתמשים מרובים, אתם יוצרים תהליך OAuth משלכם כדי לאמת את המשתמשים. במסמכי Google Identity מפורטים סוגים שונים של אפליקציות, וגם הגדרות הפרויקט ב-Google Cloud Console שנדרשות כדי לתמוך בסוג האפליקציה. כל סוגי האפליקציות האלה נתמכים על ידי Google Ads API. פרטים טכניים נוספים שחשוב לזכור:

  1. כדי לגשת אל Google Ads API, צריך להגדיר את האפליקציה כך שתבצע אימות להיקף הבא:

    https://www.googleapis.com/auth/adwords
    
  2. יכול להיות שהאפליקציה תצטרך לבצע קריאות ל-API בשם המשתמש בזמן שהוא במצב אופליין. תרחיש נפוץ הוא הורדה של מדדי חשבון אופליין כדי ליצור דוחות ולבצע ניתוח של החשבון. לכן, מומלץ לבקש גישה אופליין ל-OAuth.

  3. צריך לעבור את תהליך האימות של אפליקציית 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"
}