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

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

  • अपने ऐप्लिकेशन को कॉन्फ़िगर करें, ताकि वह OAuth 2.0 के इस स्कोप का अनुरोध कर सके:

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

  • अपने ऐप्लिकेशन की पुष्टि कराने के लिए, 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/v26/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"
}