इस गाइड में, सेवा खातों की मदद से Google Ads API को ऐक्सेस करने का तरीका बताया गया है.
सेवा खाता आपके ऐप्लिकेशन का खाता होता है. यह किसी व्यक्ति का खाता नहीं होता. सेवा खातों में OAuth 2.0 फ़्लो का इस्तेमाल किया जाता है. इसके लिए, उपयोगकर्ता की अनुमति की ज़रूरत नहीं होती. इसके बजाय, इसमें एक कुंजी फ़ाइल का इस्तेमाल किया जाता है. इसे सिर्फ़ आपका ऐप्लिकेशन ऐक्सेस कर सकता है.
सेवा खातों का इस्तेमाल करने के दो मुख्य फ़ायदे हैं:
Google Ads API को Google Ads खातों का ऐक्सेस देने की अनुमति, कॉन्फ़िगरेशन के एक चरण के तौर पर दी जाती है. इसके लिए, 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 सीएलआई में सेवा खाते को चालू क्रेडेंशियल के तौर पर सेट करें.
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/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"
}