Google Ads API, पुष्टि करने और अनुमति देने के लिए, OAuth 2.0 प्रोटोकॉल का इस्तेमाल करता है. यह प्रोटोकॉल, Google के अन्य एपीआई के लिए भी इस्तेमाल किया जाता है. 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 खातों को मैनेज करने की अनुमति देता है.
यहां दिए गए चरणों में, कोड का एक इंटरैक्टिव उदाहरण चलाया जाता है. इसके लिए, आपको इनपुट देना होगा.
टर्मिनल में,
generate_user_credentials.plउदाहरण कोexamplesडायरेक्ट्री में चलाएं. उदाहरण चलाने से पहले,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फ़ाइल में कॉपी करें. इसके अलावा, इसे किसी दूसरी जगह सेव करें, ताकि रनटाइम के दौरान लाइब्रेरी को इंस्टैंशिएट करते समय इसका इस्तेमाल किया जा सके.
googleads.properties में ये सेटिंग करके, उपयोगकर्ता के 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 खातों को मैनेज करने की अनुमति देने की सुविधा देता है, तो इस वर्कफ़्लो का इस्तेमाल करें. आपका ऐप्लिकेशन, 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 के किसी मैनेजर खाते के तहत मौजूद सभी खातों की सूची कैसे हासिल की जाए.- The
list_accessible_customers.plउदाहरण से पता चलता है कि उन सभी खातों की सूची कैसे हासिल की जाए जिनका ऐक्सेस, किसी उपयोगकर्ता के पास सीधे तौर पर है. इसके बाद, इन खातों का इस्तेमाल,googleads.propertiesफ़ाइल मेंLoginCustomerIdसेटिंग याGOOGLE_ADS_LOGIN_CUSTOMER_IDएनवायरमेंट वैरिएबल के लिए मान्य वैल्यू के तौर पर किया जा सकता है.