सेवा खाते का वर्कफ़्लो

इस गाइड में, सेवा खातों की मदद से Google Ads API को ऐक्सेस करने का तरीका बताया गया है.

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

सेवा खातों का इस्तेमाल करने के दो मुख्य फ़ायदे हैं:

  • Google Ads खातों के लिए Google Ads API के ऐक्सेस की अनुमति, कॉन्फ़िगरेशन के चरण के तौर पर दी जाती है. इसके लिए, Google Ads यूज़र इंटरफ़ेस (यूआई) से मिलने वाली अनुमति और खाता मैनेजमेंट की सुविधाओं का इस्तेमाल किया जाता है. इससे डेवलपर को OAuth 2.0 फ़्लो बनाने की ज़रूरत नहीं पड़ती. साथ ही, उपयोगकर्ता के इंटरैक्शन, उपयोगकर्ता के क्रेडेंशियल को सेव करने, और टोकन मैनेजमेंट से जुड़ी समस्याओं को हल करने की ज़रूरत नहीं पड़ती.

  • Google Ads खातों को ऐक्सेस करने की अनुमति, उपयोगकर्ता के क्रेडेंशियल से नहीं जुड़ी होती है. यह उन मामलों में मददगार हो सकता है जहां अनुमति देने वाला कर्मचारी, टीम या कंपनी छोड़ देता है.

खाते का ऐक्सेस सेटअप करना

  1. सबसे पहले, सेवा खाता और क्रेडेंशियल बनाएं.

    सेवा खाते की कुंजी को JSON फ़ॉर्मैट में डाउनलोड करें. साथ ही, सेवा खाते का आईडी और ईमेल नोट करें.

  2. एडमिन के तौर पर अपने Google Ads खाते में साइन इन करें. एडमिन > ऐक्सेस और सुरक्षा पर जाएं.

  3. उपयोगकर्ता टैब में जाकर, + बटन पर क्लिक करें.

  4. ईमेल इनपुट बॉक्स में, सेवा खाते का ईमेल पता टाइप करें. खाते का सही ऐक्सेस लेवल चुनें. ध्यान दें कि सेवा खातों के लिए, सिर्फ़ ईमेल ऐक्सेस लेवल काम नहीं करता. इसके बाद, खाता जोड़ें बटन पर क्लिक करें.

    सेवा खाते को ऐक्सेस दिया गया है.

  5. ज़रूरी नहीं: डिफ़ॉल्ट रूप से, किसी सेवा खाते को एडमिन ऐक्सेस नहीं दिया जा सकता. कम से कम अधिकारों के सिद्धांत का पालन करें और एडमिन ऐक्सेस सिर्फ़ तब दें, जब आपके एपीआई कॉल के लिए इसकी ज़रूरत हो. ऐक्सेस को अपग्रेड करने का तरीका यहां बताया गया है:

    • ऐक्सेस लेवल कॉलम में, सेवा खाते के ऐक्सेस लेवल के बगल में मौजूद ड्रॉप-डाउन ऐरो पर क्लिक करें.
    • ड्रॉप-डाउन सूची से एडमिन चुनें.

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

अपनी प्रोग्रामिंग लैंग्वेज के हिसाब से टैब चुनें, ताकि आपको क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के निर्देश मिल सकें. अगर आपका सेवा खाता, Google Ads मैनेजर खाते के ज़रिए क्लाइंट खातों को ऐक्सेस करता है, तो login-customer-id (या loginCustomerId) को उस मैनेजर खाते के 10 अंकों वाले ग्राहक आईडी पर सेट करें. इसमें हाइफ़न का इस्तेमाल न करें. इसके बारे में ज़्यादा जानने के लिए, लॉगिन ग्राहक आईडी देखें.

Java

अपने कॉन्फ़िगरेशन में, निजी कुंजी का JSON पाथ सेट करें. अगर ads.properties फ़ाइल का इस्तेमाल किया जा रहा है, तो यह जोड़ें:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

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

.NET

GoogleAdsConfig इंस्टेंस पर OAuth2Mode और OAuth2SecretsJsonPath सेट करें. इसके बाद, GoogleAdsClient ऑब्जेक्ट को शुरू करने के लिए इसका इस्तेमाल करें.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
    // ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

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

Python

अपने कॉन्फ़िगरेशन में, निजी कुंजी का JSON पाथ सेट करें. अगर google-ads.yaml फ़ाइल, YAML स्ट्रिंग या dict का इस्तेमाल किया जा रहा है, तो यह जोड़ें:

json_key_file_path: JSON_KEY_FILE_PATH

अगर एनवायरमेंट वैरिएबल का इस्तेमाल किया जा रहा है, तो अपने Bash कॉन्फ़िगरेशन या एनवायरमेंट में यह जोड़ें:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

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

PHP

अपनी google_ads_php.ini फ़ाइल में ये कुंजियां कॉन्फ़िगर करें.

[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

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

Ruby

अपने google_ads_config.rb में ये कुंजियां कॉन्फ़िगर करें.

c.keyfile = 'JSON_KEY_FILE_PATH'

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

Perl

अपने कॉन्फ़िगरेशन में, निजी कुंजी का JSON पाथ सेट करें. अगर googleads.properties फ़ाइल का इस्तेमाल किया जा रहा है, तो यह जोड़ें:

jsonKeyFilePath=JSON_KEY_FILE_PATH

अगर एनवायरमेंट वैरिएबल का इस्तेमाल किया जा रहा है, तो अपने Bash कॉन्फ़िगरेशन या एनवायरमेंट में यह जोड़ें:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

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

curl

सबसे पहले, gcloud सीएलआई में सेवा खाते को चालू क्रेडेंशियल के तौर पर सेट करें.

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

इसके बाद, Google Ads API के लिए OAuth 2.0 ऐक्सेस टोकन फ़ेच करें.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

अपने एपीआई कॉल में ऐक्सेस टोकन का इस्तेमाल किया जा सकता है. यहां दिए गए उदाहरण में, 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"
}