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

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