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

एक से ज़्यादा उपयोगकर्ताओं की पुष्टि करने के वर्कफ़्लो में, उपयोगकर्ताओं की पुष्टि करने के लिए अपना 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/v24/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"
}