अन्य Google API की तरह, 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 का पाथ सेट करें. अगर
googleads.propertiesफ़ाइल का इस्तेमाल किया जा रहा है, तो यह जानकारी जोड़ें:jsonKeyFilePath=PRIVATE_KEY_FILE_PATHअगर एनवायरमेंट वैरिएबल का इस्तेमाल किया जा रहा है, तो अपने Bash कॉन्फ़िगरेशन या एनवायरमेंट में यह जोड़ें:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=PRIVATE_KEY_FILE_PATHज़्यादा जानने के लिए, सेवा खाते के वर्कफ़्लो से जुड़ी गाइड देखें.
एक उपयोगकर्ता के लिए पुष्टि करने की प्रोसेस
अगर सेवा खातों का इस्तेमाल नहीं किया जा सकता, तो इस वर्कफ़्लो का इस्तेमाल किया जा सकता है. इस वर्कफ़्लो के लिए, कॉन्फ़िगरेशन के दो चरण पूरे करने होते हैं:
- 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 {client_id} -client_secret {client_secret}इस कोड के उदाहरण में, आपको एक यूआरएल पर जाने के लिए कहा जाता है. यहां आपको ऐप्लिकेशन को अपनी ओर से, Google Ads खाता ऐक्सेस करने की अनुमति देनी होगी.
Paste this url in your browser: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline&client_id=...निजी ब्राउज़र सेशन या गुप्त विंडो में यूआरएल पर जाएं. उस 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
developerToken=DEVELOPER_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_DEVELOPER_TOKEN=DEVELOPER_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
developerToken=DEVELOPER_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_DEVELOPER_TOKEN=DEVELOPER_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फ़ाइल मेंLoginCustomerIdसेटिंग याGOOGLE_ADS_LOGIN_CUSTOMER_IDएनवायरमेंट वैरिएबल के लिए मान्य वैल्यू के तौर पर किया जा सकता है.