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

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

  1. अपने ऐप्लिकेशन को कॉन्फ़िगर करें, ताकि वह OAuth 2.0 के लिए यहां दी गई अनुमति का अनुरोध कर सके:

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

  3. अपने ऐप्लिकेशन की पुष्टि कराने के लिए, OAuth ऐप्लिकेशन की पुष्टि कराने की प्रक्रिया पूरी करें.

वर्कफ़्लो के बारे में खास जानकारी

डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने का वर्कफ़्लो लागू करने में, ये तीन मुख्य चरण शामिल होते हैं:

  1. उपयोगकर्ताओं को OAuth की सहमति वाली स्क्रीन पर रीडायरेक्ट करें: हर उपयोगकर्ता को Google के OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट पर रीडायरेक्ट करें. इससे https://www.googleapis.com/auth/adwords स्कोप और ऑफ़लाइन ऐक्सेस का अनुरोध किया जा सकेगा.
  2. ऑथराइज़ेशन कोड को टोकन के लिए एक्सचेंज करें: जब उपयोगकर्ता अनुमति दे देता है, तब वापस मिले ऑथराइज़ेशन कोड को कैप्चर करें. इसके बाद, इसे ऐक्सेस टोकन और रीफ़्रेश टोकन के लिए एक्सचेंज करें.
  3. टोकन सेव करना और रनटाइम के दौरान क्लाइंट को शुरू करना: अपने डेटास्टोर में हर उपयोगकर्ता के रीफ़्रेश टोकन को सुरक्षित तरीके से सेव करें. साथ ही, रनटाइम के दौरान अपने GoogleAdsClient इंस्टेंस को शुरू करते समय, उपयोगकर्ता के क्रेडेंशियल पास करें.

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

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

Java

आपके पास रनटाइम के दौरान, GoogleAdsClient इंस्टेंस को शुरू करने का विकल्प होता है. इसके लिए, आपको उस उपयोगकर्ता से मिले क्रेडेंशियल का इस्तेमाल करना होगा जिसके खातों के लिए, आपको एपीआई कॉल करने हैं.

UserCredentials credentials =
    UserCredentials.newBuilder()
        .setClientId("INSERT_OAUTH2_CLIENT_ID_HERE")
        .setClientSecret("INSERT_OAUTH2_CLIENT_SECRET_HERE")
        .setRefreshToken("INSERT_OAUTH2_REFRESH_TOKEN_HERE")
        .build();

// Creates a GoogleAdsClient with the provided credentials.
GoogleAdsClient client =
    GoogleAdsClient.newBuilder()
        // Sets the OAuth credentials which provide Google Ads account
        // access.
        .setCredentials(credentials)
        // Optional: sets the login customer ID.
        .setLoginCustomerId(Long.valueOf("INSERT_LOGIN_CUSTOMER_ID_HERE"))
        .build();

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

.NET

आपके पास रनटाइम के दौरान, GoogleAdsClient इंस्टेंस को शुरू करने का विकल्प होता है. इसके लिए, आपको उस उपयोगकर्ता से मिले क्रेडेंशियल का इस्तेमाल करना होगा जिसके खातों के लिए, आपको एपीआई कॉल करने हैं.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.APPLICATION,
    OAuth2ClientId = "INSERT_OAUTH2_CLIENT_ID_HERE",
    OAuth2ClientSecret = "INSERT_OAUTH2_CLIENT_SECRET_HERE",
    OAuth2RefreshToken = "INSERT_OAUTH2_REFRESH_TOKEN_HERE",
    LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE",
};

GoogleAdsClient client = new GoogleAdsClient(config);

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

Python

आपके पास रनटाइम के दौरान, GoogleAdsClient इंस्टेंस को शुरू करने का विकल्प होता है. इसके लिए, आपको उस उपयोगकर्ता से मिले क्रेडेंशियल का इस्तेमाल करना होगा जिसके खातों के लिए, आपको एपीआई कॉल करने हैं.

from google.ads.googleads.client import GoogleAdsClient

credentials = {
    "login_customer_id": "INSERT_LOGIN_CUSTOMER_ID_HERE",
    "refresh_token": "INSERT_OAUTH2_REFRESH_TOKEN_HERE",
    "client_id": "INSERT_OAUTH2_CLIENT_ID_HERE",
    "client_secret": "INSERT_OAUTH2_CLIENT_SECRET_HERE",
    "use_proto_plus": True,
}

client = GoogleAdsClient.load_from_dict(credentials)

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

PHP

आपके पास रनटाइम के दौरान, GoogleAdsClient इंस्टेंस को शुरू करने का विकल्प होता है. इसके लिए, आपको उस उपयोगकर्ता से मिले क्रेडेंशियल का इस्तेमाल करना होगा जिसके खातों के लिए, आपको एपीआई कॉल करने हैं.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_OAUTH2_CLIENT_ID_HERE')
    ->withClientSecret('INSERT_OAUTH2_CLIENT_SECRET_HERE')
    ->withRefreshToken('INSERT_OAUTH2_REFRESH_TOKEN_HERE')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
    ->build();

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

Ruby

आपके पास रनटाइम के दौरान, GoogleAdsClient इंस्टेंस को शुरू करने का विकल्प होता है. इसके लिए, आपको उस उपयोगकर्ता से मिले क्रेडेंशियल का इस्तेमाल करना होगा जिसके खातों के लिए, आपको एपीआई कॉल करने हैं.

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_OAUTH2_CLIENT_ID_HERE'
  config.client_secret = 'INSERT_OAUTH2_CLIENT_SECRET_HERE'
  config.refresh_token = 'INSERT_OAUTH2_REFRESH_TOKEN_HERE'
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
end

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

Perl

आपके पास रनटाइम के दौरान, GoogleAdsClient इंस्टेंस को शुरू करने का विकल्प होता है. इसके लिए, आपको उस उपयोगकर्ता से मिले क्रेडेंशियल का इस्तेमाल करना होगा जिसके खातों के लिए, आपको एपीआई कॉल करने हैं.

my $api_client = Google::Ads::GoogleAds::Client->new({
  login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});

my $oauth2_handler = $api_client->get_oauth2_applications_handler();
$oauth2_handler->set_client_id("INSERT_OAUTH2_CLIENT_ID_HERE");
$oauth2_handler->set_client_secret("INSERT_OAUTH2_CLIENT_SECRET_HERE");
$oauth2_handler->set_refresh_token("INSERT_OAUTH2_REFRESH_TOKEN_HERE");

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

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://oauth2.googleapis.com/token

अब एपीआई कॉल में ऐक्सेस टोकन का इस्तेमाल किया जा सकता है. यहां दिए गए उदाहरण में, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट चलाने का तरीका बताया गया है. इस तरीके से, आपके खाते में मौजूद कैंपेन को वापस पाया जा सकता है. इस गाइड में, रिपोर्टिंग के बारे में जानकारी नहीं दी गई है.

curl -i -X POST \
  https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_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"
}