एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने का वर्कफ़्लो

एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने के वर्कफ़्लो में, उपयोगकर्ताओं की पुष्टि करने के लिए अपना OAuth फ़्लो बनाया जाता है. Google Identity के दस्तावेज़ में, कई तरह के ऐप्लिकेशन के बारे में बताया गया है. साथ ही, Google Cloud Console प्रोजेक्ट के कॉन्फ़िगरेशन के बारे में भी बताया गया है, ताकि उस ऐप्लिकेशन टाइप को सपोर्ट किया जा सके. Google Ads API के साथ ये सभी ऐप्लिकेशन टाइप काम करते हैं. यहां दी गई तकनीकी जानकारी का भी ध्यान रखें:

  1. Google Ads API को ऐक्सेस करने के लिए, आपको अपने ऐप्लिकेशन को इस स्कोप के लिए पुष्टि करने के लिए कॉन्फ़िगर करना होगा:

    https://www.googleapis.com/auth/adwords
    
  2. ऐसा हो सकता है कि उपयोगकर्ता के ऑफ़लाइन होने पर, आपके ऐप्लिकेशन को उसकी ओर से एपीआई कॉल करने पड़ें. खाते की मेट्रिक को ऑफ़लाइन डाउनलोड करने का एक सामान्य तरीका है. इससे रिपोर्ट जनरेट की जा सकती हैं और खाते का विश्लेषण किया जा सकता है. इसलिए, हमारा सुझाव है कि आप OAuth ऑफ़लाइन ऐक्सेस का अनुरोध करें.

  3. आपको OAuth ऐप्लिकेशन की पुष्टि करने की प्रक्रिया पूरी करनी चाहिए और अपने ऐप्लिकेशन को सर्टिफ़िकेट पाना चाहिए.

क्लाइंट लाइब्रेरी का कॉन्फ़िगरेशन

उपयोगकर्ता को अनुमति देने और OAuth 2.0 क्रेडेंशियल पाने के बाद, क्लाइंट लाइब्रेरी को कॉन्फ़िगर किया जा सकता है. इसके लिए, अपनी प्रोग्रामिंग भाषा से जुड़े टैब पर दिए गए निर्देशों का पालन करें.

Java

आपके पास रनटाइम के दौरान, अपने 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.

.NET

आपके पास रनटाइम के दौरान, अपने 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);

अन्य विकल्पों के लिए, कॉन्फ़िगरेशन गाइड देखें.

Python

आपके पास रनटाइम के दौरान, अपने 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();

अन्य विकल्पों के लिए, कॉन्फ़िगरेशन गाइड देखें.

Ruby

आपके पास रनटाइम के दौरान, अपने 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

अन्य विकल्पों के लिए, कॉन्फ़िगरेशन गाइड देखें.

Perl

आपके पास रनटाइम के दौरान, अपने 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");

अन्य विकल्पों के लिए, कॉन्फ़िगरेशन गाइड देखें.

curl

सबसे पहले, एचटीटीपी क्लाइंट का इस्तेमाल करके, 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

अब अपने एपीआई कॉल में ऐक्सेस टोकन का इस्तेमाल किया जा सकता है. यहां दिए गए उदाहरण में बताया गया है कि 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"
}