सेवा खाते

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

सेवा खाता एक ऐसा खाता होता है जो किसी असली उपयोगकर्ता के बजाय, आपके ऐप्लिकेशन से जुड़ा होता है. सेवा खाते, किसी वेब ऐप्लिकेशन और Google की सेवा के बीच सर्वर-टू-सर्वर इंटरैक्शन की सुविधा चालू करते हैं. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है, ताकि उपयोगकर्ता सीधे तौर पर शामिल न हों.

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

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

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

  • OAuth 2.0 के दावे वाले फ़्लो की मदद से, आपका ऐप्लिकेशन ज़रूरत पड़ने पर, दूसरे उपयोगकर्ताओं के नाम पर काम कर सकता है.

सेवा खातों को अनुमति देने के दो तरीके हैं: सीधे तौर पर या किसी दूसरे व्यक्ति के नाम पर अनुमति देकर.

खाते का सीधा ऐक्सेस लेकर अनुमति देना

इस विकल्प में, सेवा खाते को अपने Google Ads खाते का सीधा ऐक्सेस दिया जाता है.

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

  1. सेवा खाता और क्रेडेंशियल बनाकर शुरुआत करें.

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

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

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

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

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

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

अपनी क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के तरीके के बारे में निर्देश पाने के लिए, अपनी प्रोग्रामिंग भाषा से जुड़ा टैब चुनें.

Java

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

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

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

.NET

अपने App.config / Web.config में ये कुंजियां कॉन्फ़िगर करें. ज़्यादा जानकारी के लिए, कॉन्फ़िगरेशन गाइड देखें.

<add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
<add key="OAuth2SecretsJsonPath" value="JSON_KEY_FILE_PATH" />

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

किसी दूसरे के नाम पर काम करके अनुमति पाना

इस विकल्प में, आप किसी ऐसे उपयोगकर्ता के नाम पर काम करते हैं जिसके पास सेवा खाते का इस्तेमाल करके, आपके Google Ads खाते का ऐक्सेस है. यह तरीका सिर्फ़ Google Workspace के ग्राहकों के लिए काम करता है. सेवा खाता, सिर्फ़ एक ही Google Workspace में मौजूद उपयोगकर्ताओं (ईमेल पतों) के नाम पर काम कर सकता है.

ज़रूरी शर्तें

  • आपके मालिकाना हक वाला Google Workspace डोमेन, जैसे कि mydomain.com या mybusiness.com

  • Google Ads API डेवलपर टोकन और वैकल्पिक तौर पर टेस्ट खाता

  • इस्तेमाल की जा रही भाषा के लिए क्लाइंट लाइब्रेरी

  • Google API कंसोल का ऐसा प्रोजेक्ट जिसे Google Ads API के लिए कॉन्फ़िगर किया गया हो

  • Google Ads खाते का ऐसा उपयोगकर्ता जिसके पास उस खाते की अनुमतियां हों जिसे आपको ऐक्सेस करना है. Google Ads, किसी दूसरे व्यक्ति या इकाई के नाम पर काम किए बिना, सेवा खातों का इस्तेमाल करने की अनुमति नहीं देता.

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

उपयोगकर्ता के नाम पर काम करने की सुविधा को सिर्फ़ डोमेन लेवल पर कंट्रोल किया जाता है. इसलिए, Google OAuth 2.0 के साथ सेवा खातों और एश्योरेशन फ़्लो का इस्तेमाल करने के लिए, आपके पास Google Workspace में रजिस्टर किया गया अपना डोमेन होना चाहिए. इसके बाद, आपका ऐप्लिकेशन और उसके उपयोगकर्ता, डोमेन के किसी भी उपयोगकर्ता के नाम पर काम कर सकते हैं.

  1. सेवा खाता और क्रेडेंशियल बनाकर शुरुआत करें.

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

  2. अपने डोमेन एडमिन के साथ, सेवा खाता आईडी और Google Ads API का दायरा (https://www.googleapis.com/auth/adwords) शेयर करें.

    डोमेन एडमिन से अनुरोध करें कि वह आपके सेवा खाते को डोमेन के लिए सभी अधिकार दे.

  3. अगर आप डोमेन एडमिन हैं, तो सहायता केंद्र के निर्देशों का पालन करें.

अब आपके पास, OAuth 2.0 एश्योरेशन फ़्लो की मदद से, अपने Google Ads खाते को ऐक्सेस करने के लिए, सेवा खाते का इस्तेमाल करने का विकल्प है.

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

अपनी क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के तरीके के बारे में निर्देश पाने के लिए, अपनी प्रोग्रामिंग भाषा से जुड़ा टैब चुनें.

Java

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

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.serviceAccountUser=IMPERSONATED_EMAIL

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

.NET

अपने App.config / Web.config में ये कुंजियां कॉन्फ़िगर करें. ज़्यादा जानकारी के लिए, कॉन्फ़िगरेशन गाइड देखें.

<add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
<add key="OAuth2SecretsJsonPath" value="JSON_KEY_FILE_PATH" />

<!-- Supply the email address of the user to impersonate. -->
<add key="OAuth2PrnEmail" value="IMPERSONATED_EMAIL" />

Python

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

json_key_file_path: JSON_KEY_FILE_PATH
impersonated_email: IMPERSONATED_EMAIL

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

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
export GOOGLE_ADS_IMPERSONATED_EMAIL=IMPERSONATED_EMAIL

PHP

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

; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
impersonatedEmail = "IMPERSONATED_EMAIL"

Ruby

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

c.keyfile = 'JSON_KEY_FILE_PATH'
c.impersonate = 'IMPERSONATED_EMAIL'

Perl

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

jsonKeyFilePath=JSON_KEY_FILE_PATH
impersonatedEmail=IMPERSONATED_EMAIL

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

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
export GOOGLE_ADS_IMPERSONATED_EMAIL=IMPERSONATED_EMAIL

सुरक्षा से जुड़ी चिंताएं

सेवा खाते के पास आपके Google Workspace डोमेन के लिए, डोमेन-लेवल पर डेलिगेशन कंट्रोल होता है. इसलिए, उस पासकोड वाली फ़ाइल को सुरक्षित रखना ज़रूरी है जिसकी मदद से सेवा खाता, उन Google सेवाओं को ऐक्सेस कर सकता है जिनके लिए उसे अनुमति मिली है. यह बात इसलिए ज़्यादा सही है, क्योंकि उस सेवा खाते के पास डोमेन के किसी भी उपयोगकर्ता के नाम पर काम करने की सुविधा होती है.

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