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

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

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

[ज़रूरी नहीं] डिफ़ॉल्ट रूप से, किसी सेवा खाते को एडमिन का ऐक्सेस नहीं दिया जा सकता. अगर आपके एपीआई कॉल के लिए एडमिन के ऐक्सेस की ज़रूरत है, तो यहां दिए गए तरीके से ऐक्सेस को अपग्रेड किया जा सकता है.
- ऐक्सेस लेवल कॉलम में, सेवा खाते के ऐक्सेस लेवल के बगल में मौजूद ड्रॉप-डाउन ऐरो पर क्लिक करें.
- ड्रॉप-डाउन सूची से एडमिन चुनें.
क्लाइंट लाइब्रेरी का कॉन्फ़िगरेशन
अपनी प्रोग्रामिंग भाषा से जुड़ा टैब चुनें. इसमें क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के बारे में निर्देश दिए गए हैं.
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 = "PATH_TO_JSON_SECRETS_PATH",
...
};
GoogleAdsClient client = new GoogleAdsClient(config);
ज़्यादा जानकारी के लिए, कॉन्फ़िगरेशन गाइड देखें.
Python
अपने कॉन्फ़िगरेशन में, निजी कुंजी JSON का पाथ सेट करें. अगर google-ads.yaml file, 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 में ये कुंजियां कॉन्फ़िगर करें. ज़्यादा जानकारी के लिए, कॉन्फ़िगरेशन गाइड देखें.
; 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 CLI में चालू क्रेडेंशियल के तौर पर सेट करें.
gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSONइसके बाद, 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/v22/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"
}