Google के अन्य एपीआई की तरह, Google Ads API भी पुष्टि करने और अनुमति देने के लिए, OAuth 2.0 प्रोटोकॉल का इस्तेमाल करता है. OAuth 2.0 की मदद से, Google Ads API क्लाइंट ऐप्लिकेशन, उपयोगकर्ता की लॉगिन जानकारी को मैनेज या सेव किए बिना, उसके Google Ads खाते को ऐक्सेस कर सकता है.
Google Ads के ऐक्सेस मॉडल के बारे में जानकारी
Google Ads API का बेहतर तरीके से इस्तेमाल करने के लिए, Google Ads के ऐक्सेस मॉडल के काम करने का तरीका समझें. Google Ads के ऐक्सेस मॉडल की गाइड देखें.
OAuth वर्कफ़्लो
Google Ads API का इस्तेमाल करते समय, तीन सामान्य वर्कफ़्लो का इस्तेमाल किया जाता है.
सेवा खाते का फ़्लो
अगर आपके वर्कफ़्लो में किसी व्यक्ति के इंटरैक्शन की ज़रूरत नहीं है, तो हमारा सुझाव है कि आप यह वर्कफ़्लो अपनाएं. इस वर्कफ़्लो के लिए कॉन्फ़िगरेशन का एक चरण ज़रूरी है. इसमें उपयोगकर्ता, अपने Google Ads खाते में सेवा खाता जोड़ता है. इसके बाद, ऐप्लिकेशन उपयोगकर्ता के Google Ads खाते को मैनेज करने के लिए, सेवा खाते के क्रेडेंशियल का इस्तेमाल कर सकता है.
Perl क्लाइंट लाइब्रेरी में, सेवा खाते के साथ अपने क्रेडेंशियल का इस्तेमाल करके, एपीआई ऐक्सेस करने के लिए OAuth2 को इस तरह सेट अप करें:
OAuth2 क्रेडेंशियल बनाना:
सेवा खाता और JSON कुंजी फ़ाइल जनरेट करने के लिए, दिए गए निर्देशों का पालन करें.
क्लाइंट लाइब्रेरी सेट अप करना:
अपने कॉन्फ़िगरेशन में, निजी पासकोड का JSON पाथ सेट करें. साथ ही, अगर Google Workspace के डोमेन-वाइड डेलिगेशन का इस्तेमाल किया जा रहा है, तो
impersonatedEmailसेट करें. हालांकि,impersonatedEmailसेट करना ज़रूरी नहीं है. अगरgoogleads.propertiesफ़ाइल का इस्तेमाल किया जा रहा है, तो यह जानकारी जोड़ें:jsonKeyFilePath=PRIVATE_KEY_FILE_PATH # Optional unless using Google Workspace domain-wide delegation: impersonatedEmail=IMPERSONATED_EMAIL loginCustomerId=LOGIN_CUSTOMER_IDअगर एनवायरमेंट वैरिएबल का इस्तेमाल किया जा रहा है, तो अपने Bash कॉन्फ़िगरेशन या एनवायरमेंट में यह जोड़ें:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=KEY_FILE_PATH export GOOGLE_ADS_IMPERSONATED_EMAIL=\ IMPERSONATED_EMAIL export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_IDज़्यादा जानने के लिए, सेवा खाते के वर्कफ़्लो की गाइड देखें.
एक उपयोगकर्ता की पुष्टि करने का फ़्लो
अगर सेवा खातों का इस्तेमाल नहीं किया जा सकता, तो इस वर्कफ़्लो का इस्तेमाल किया जा सकता है. इस वर्कफ़्लो के लिए, कॉन्फ़िगरेशन के दो चरण ज़रूरी हैं:
- Google Ads API का इस्तेमाल करके, किसी एक उपयोगकर्ता को उन सभी खातों का ऐक्सेस दें जिन्हें मैनेज करना है. आम तौर पर, उपयोगकर्ता को Google Ads API मैनेजर खाते का ऐक्सेस दिया जाता है. साथ ही, उस मैनेजर खाते से सभी Google Ads खातों को लिंक किया जाता है.
- उपयोगकर्ता,
generate_user_credentials.plकोड का उदाहरण चलाता है, ताकि आपके ऐप्लिकेशन को उनकी ओर से उनके सभी Google Ads खातों को मैनेज करने की अनुमति मिल सके.
यहां दिए गए तरीके से, इंटरैक्टिव कोड का उदाहरण चलाया जा सकता है. इसके बाद, आपको इनपुट देना होगा.
टर्मिनल में,
examplesडायरेक्ट्री में मौजूदgenerate_user_credentials.plउदाहरण को चलाएं. उदाहरण में दी गईINSERT_XXX_HEREवैल्यू में बदलाव किया जा सकता है. इसके लिए, आपको कोड को चलाने से पहले बदलाव करना होगा. इसके अलावा, क्लाइंट आईडी के लिए कमांड-लाइन आर्ग्युमेंट-client_idऔर क्लाइंट सीक्रेट के लिए-client_secretका इस्तेमाल किया जा सकता है.perl generate_user_credentials.pl \ -client_id OAUTH_CLIENT_ID \ -client_secret OAUTH_CLIENT_SECRETकोड का यह उदाहरण आपको एक यूआरएल पर जाने के लिए कहता है. यहां आपको ऐप्लिकेशन को अपनी ओर से Google Ads खाते को ऐक्सेस करने की अनुमति देनी होगी.
Paste this url in your browser: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline...निजी ब्राउज़र सेशन या गुप्त विंडो में यूआरएल पर जाएं. उस Google खाते से साइन इन करें जिसका इस्तेमाल Google Ads को ऐक्सेस करने के लिए किया जाता है. आम तौर पर, यह ऐसा ईमेल खाता होता है जिसके पास Google Ads मैनेजर खाते का ऐक्सेस होता है. इस मैनेजर खाते में, वे सभी खाते शामिल होते हैं जिन्हें आपको खाता हैरारकी में मैनेज करना है. OAuth 2.0 की सहमति वाली स्क्रीन पर, जारी रखें पर क्लिक करें.

आपको एक पेज पर रीडायरेक्ट किया जाएगा. इस पेज पर आपको एक मैसेज दिखेगा, जिसमें बताया जाएगा कि अनुमति मिल गई है.
Authorization code was successfully retrieved.उस कंसोल पर वापस जाएं जहां कोड का उदाहरण चलाया जा रहा है. आपको दिखेगा कि कोड का उदाहरण पूरा हो गया है. साथ ही, आपका रीफ़्रेश टोकन और कुछ निर्देश दिख रहे हैं. इसके बाद, आपको क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के लिए, इन निर्देशों का पालन करना होगा:
Replace the following keys and values in your googleads.properties configuration file: clientId=***********************apps.googleusercontent.com clientSecret=**** refreshToken=****प्रोसेस को खत्म करने के लिए,
Ctrl + Cदबाएं. इसके बाद, जनरेट किए गए रीफ़्रेश टोकन को क्लाइंट आईडी और क्लाइंट सीक्रेट के साथ अपनीgoogleads.propertiesफ़ाइल में कॉपी करें. इसके अलावा, अगर रनटाइम के दौरान लाइब्रेरी को इंस्टैंशिएट किया जा रहा है, तो इसे इस्तेमाल करने के लिए कहीं और सेव करें.
लाइब्रेरी को उपयोगकर्ता के OAuth 2.0 क्रेडेंशियल का इस्तेमाल करके शुरू किया जा सकता है. इसके लिए, googleads.properties में यह सेट करें:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
इसके अलावा, एनवायरमेंट वैरिएबल का इस्तेमाल करें:
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
ज़्यादा जानने के लिए, एक उपयोगकर्ता के लिए पुष्टि करने के वर्कफ़्लो की गाइड पढ़ें.
डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने का फ़्लो
अगर आपका ऐप्लिकेशन उपयोगकर्ताओं को साइन इन करने और उनकी ओर से उनके Google Ads खातों को मैनेज करने की अनुमति देता है, तो हमारा सुझाव है कि आप इस वर्कफ़्लो का इस्तेमाल करें. आपका ऐप्लिकेशन, OAuth 2.0 के उपयोगकर्ता क्रेडेंशियल बनाता और मैनेज करता है.
Perl के लिए, आम तौर पर वेब ऐप्लिकेशन फ़्लो लागू किया जाता है. इसमें आपका ऐप्लिकेशन, OAuth 2.0 रीडायरेक्शन और टोकन मैनेजमेंट को हैंडल करता है. उपयोगकर्ता, आपके ऐप्लिकेशन के ज़रिए पुष्टि करता है. इसके बाद, आपका ऐप्लिकेशन उपयोगकर्ता के रीफ़्रेश टोकन को सेव करता है और उसका इस्तेमाल करता है, ताकि उपयोगकर्ता की ओर से एपीआई कॉल किए जा सकें.
हासिल किए गए क्रेडेंशियल इस्तेमाल करने का कॉन्फ़िगरेशन, एक उपयोगकर्ता की पुष्टि करने के फ़्लो जैसा ही होता है:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
इसके अलावा, एनवायरमेंट वैरिएबल का इस्तेमाल करें:
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
ज़्यादा जानने के लिए, डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने की सुविधा से जुड़ी वर्कफ़्लो गाइड देखें.
अगर मेरा उपयोगकर्ता कई खाते मैनेज करता है, तो क्या होगा?
आम तौर पर, कोई उपयोगकर्ता एक से ज़्यादा Google Ads खाते मैनेज करता है. इसके लिए, वह खातों को सीधे ऐक्सेस करता है या Google Ads मैनेजर खाते का इस्तेमाल करता है. Perl क्लाइंट लाइब्रेरी में ऐसे उदाहरण दिए गए हैं जिनसे यह पता चलता है कि इस तरह के मामलों को कैसे हैंडल किया जाता है:
get_account_hierarchy.plउदाहरण में दिखाया गया है कि Google Ads मैनेजर खाते के तहत मौजूद सभी खातों की सूची कैसे वापस पाई जा सकती है.list_accessible_customers.plके उदाहरण से पता चलता है कि उन सभी खातों की सूची कैसे वापस पाई जा सकती है जिनका ऐक्सेस किसी उपयोगकर्ता के पास सीधे तौर पर है. इसके बाद, इन खातों का इस्तेमालgoogleads.propertiesफ़ाइल याGOOGLE_ADS_LOGIN_CUSTOMER_IDएनवायरमेंट वैरिएबल में,loginCustomerIdसेटिंग के लिए मान्य वैल्यू के तौर पर किया जा सकता है.