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

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

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

.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/v25/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"
}