Google Ads API, पुष्टि और अनुमति देने के लिए OAuth 2.0 प्रोटोकॉल का इस्तेमाल करता है. यह प्रोटोकॉल, Google के अन्य एपीआई के लिए भी इस्तेमाल किया जाता है. OAuth 2.0 की मदद से, Google Ads API क्लाइंट ऐप्लिकेशन, उपयोगकर्ता की लॉगिन जानकारी को मैनेज या सेव किए बिना, उसके Google Ads खाते को ऐक्सेस कर सकता है.
इस गाइड में, OAuth 2.0 के तीन सबसे आम फ़्लो का इस्तेमाल करके, Google Ads API की पुष्टि के लिए Java क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने का तरीका बताया गया है. साथ ही, इसमें ज़रूरी क्रेडेंशियल के बारे में भी जानकारी दी गई है.
Google Ads API के ऐक्सेस मॉडल के बारे में ज़्यादा जानने के लिए, Google Ads के ऐक्सेस मॉडल गाइड पढ़ें.
क्रेडेंशियल
Google Ads API को ऐक्सेस करने के लिए, OAuth 2.0 क्रेडेंशियल की ज़रूरत होती है. कुछ मामलों में, लॉगिन करने के लिए ग्राहक आईडी की भी ज़रूरत होती है.
OAuth 2.0 क्रेडेंशियल
Google Ads खातों को ऐक्सेस करने की अनुमति वाले Google खाते के उपयोगकर्ताओं के तौर पर पुष्टि करने के लिए, आपको OAuth 2.0 क्रेडेंशियल का सेट देना होगा. ज़रूरी क्रेडेंशियल का टाइप, इस्तेमाल किए जा रहे OAuth 2.0 फ़्लो पर निर्भर करता है.
लाइब्रेरी, इन तीन फ़्लो के साथ काम करती है:
- सेवा खाते का फ़्लो
- एक उपयोगकर्ता की पुष्टि करने का फ़्लो
- डिवाइस के एक से ज़्यादा उपयोगकर्ताओं की पुष्टि करने का फ़्लो
Google Ads API के OAuth फ़्लो के बारे में जानने के लिए, OAuth की खास जानकारी देखें. साथ ही, ज़रूरी क्रेडेंशियल पाने के लिए, अपनी ज़रूरतों के हिसाब से सबसे सही फ़्लो के निर्देशों का पालन करें.
लॉगिन करने के लिए ग्राहक आईडी
ज़रूरत पड़ने पर, किसी ऐसे मैनेजर खाते का ग्राहक आईडी डालें जो विज्ञापन दिखाने वाले खाते को ऐक्सेस करने की अनुमति देता है. अगर आपको ग्राहक खाते को ऐक्सेस करने की अनुमति, किसी मैनेजर खाते के ज़रिए मिली है, तो आपको यह जानकारी देनी होगी. ग्राहक आईडी के पाथ पर मौजूद सभी मैनेजर खातों की जानकारी देने की ज़रूरत नहीं है. सिर्फ़ सबसे ऊपर मौजूद मैनेजर आईडी की जानकारी दें, जिसका इस्तेमाल आपने ऐक्सेस की अनुमतियों के लिए किया है. ज़्यादा जानकारी के लिए, इससे जुड़ा दस्तावेज़ देखें.
क्लाइंट लाइब्रेरी में, लॉगिन करने के लिए ग्राहक आईडी की जानकारी, आपकी ads.properties फ़ाइल में मौजूद api.googleads.loginCustomerId कुंजी से मिलती है.
कॉन्फ़िगरेशन
ads.properties फ़ाइल, एनवायरमेंट वैरिएबल या प्रोग्राम के ज़रिए, क्लाइंट लाइब्रेरी को कॉन्फ़िगर किया जा सकता है. इस गाइड में, ads.properties फ़ाइल का इस्तेमाल करने के बारे में बताया गया है. सभी विकल्पों के बारे में जानने के लिए, कॉन्फ़िगरेशन की गाइड देखें.
ads.properties फ़ाइल का इस्तेमाल करने पर, इसे अपनी होम डायरेक्ट्री में रखें:
~/ads.properties.
OAuth वर्कफ़्लो
Google Ads API के साथ काम करते समय, आम तौर पर तीन वर्कफ़्लो इस्तेमाल किए जाते हैं.
सेवा खाते का फ़्लो
अगर आपके वर्कफ़्लो में, किसी भी तरह के मानवीय इंटरैक्शन की ज़रूरत नहीं है, तो हमारा सुझाव है कि आप इस वर्कफ़्लो का इस्तेमाल करें. इस वर्कफ़्लो के लिए, कॉन्फ़िगरेशन का एक चरण ज़रूरी है. इसमें उपयोगकर्ता, अपने Google Ads खाते में एक सेवा खाता जोड़ता है. इसके बाद, ऐप्लिकेशन, उपयोगकर्ता के Google Ads खाते को मैनेज करने के लिए, सेवा खाते के क्रेडेंशियल का इस्तेमाल कर सकता है.
निजी कुंजी की JSON फ़ाइल मिलने के बाद, अपनी ads.properties फ़ाइल में यह जानकारी जोड़ें:
api.googleads.serviceAccountSecretsPath=PRIVATE_KEY_JSON_FILE_PATH
# Only add this key if you are using impersonation to access an account
# other than the service account itself.
# api.googleads.serviceAccountUser=USER_EMAIL_TO_IMPERSONATE
ज़्यादा जानने के लिए, सेवा खाते के वर्कफ़्लो की गाइड देखें.
एक उपयोगकर्ता की पुष्टि करने का फ़्लो
अगर सेवा खातों का इस्तेमाल नहीं किया जा सकता, तो इस वर्कफ़्लो का इस्तेमाल किया जा सकता है. इस वर्कफ़्लो के लिए, कॉन्फ़िगरेशन के दो चरण ज़रूरी हैं:
- Google Ads API का इस्तेमाल करके मैनेज किए जाने वाले सभी खातों का ऐक्सेस, किसी एक उपयोगकर्ता को दें. आम तौर पर, उपयोगकर्ता को Google Ads API के मैनेजर खाते का ऐक्सेस दिया जाता है. साथ ही, उस मैनेजर खाते के तहत सभी Google Ads खातों को लिंक किया जाता है.
- उपयोगकर्ता, कमांड-लाइन टूल चलाता है. जैसे, gcloud CLI या
GenerateUserCredentialsकोड का उदाहरण. इससे, आपके ऐप्लिकेशन को उसकी ओर से उसके सभी Google Ads खातों को मैनेज करने की अनुमति मिलती है.
ये क्रेडेंशियल मिलने के बाद, अपनी ads.properties फ़ाइल में यह जानकारी जोड़ें:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
ज़्यादा जानने के लिए, एक उपयोगकर्ता की पुष्टि करने के वर्कफ़्लो की गाइड देखें.
डिवाइस के एक से ज़्यादा उपयोगकर्ताओं की पुष्टि करने का फ़्लो
अगर आपका ऐप्लिकेशन, उपयोगकर्ताओं को साइन इन करने और आपकी ओर से उनके Google Ads खातों को मैनेज करने की अनुमति देता है, तो हमारा सुझाव है कि आप इस वर्कफ़्लो का इस्तेमाल करें. GenerateUserCredentials, कमांड लाइन कोड का एक उदाहरण है. इससे पता चलता है कि उपयोगकर्ता की ओर से उसके Google Ads खातों को मैनेज करने के लिए, रनटाइम पर उपयोगकर्ता की पुष्टि कैसे की जाती है. डेस्कटॉप ऐप्लिकेशन बनाने के लिए, इस कोड के उदाहरण को रेफ़रंस के तौर पर इस्तेमाल किया जा सकता है. इन ऐप्लिकेशन के लिए, उपयोगकर्ता की पुष्टि करना ज़रूरी है.
अपनी ads.properties फ़ाइल में यह जानकारी जोड़ें:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
ज़्यादा जानने के लिए, डिवाइस के एक से ज़्यादा उपयोगकर्ताओं की पुष्टि करने के वर्कफ़्लो की गाइड देखें.
अगर मेरा उपयोगकर्ता, एक से ज़्यादा खाते मैनेज करता है, तो क्या होगा?
आम तौर पर, कोई उपयोगकर्ता एक से ज़्यादा Google Ads खाते मैनेज करता है. ऐसा वह खातों को सीधे ऐक्सेस करके या Google Ads मैनेजर खाते के ज़रिए करता है. Java क्लाइंट लाइब्रेरी में, ऐसे मामलों को मैनेज करने का तरीका बताने वाले ये कोड के उदाहरण दिए गए हैं.
- GetAccountHierarchy कोड के उदाहरण से पता चलता है कि Google Ads मैनेजर खाते के तहत मौजूद सभी खातों की सूची कैसे वापस पाई जाती है.
- ListAccessibleCustomers कोड के उदाहरण से पता चलता है
कि उन सभी खातों की सूची कैसे वापस पाई जाती है जिन्हें उपयोगकर्ता सीधे ऐक्सेस कर सकता है.
इसके बाद, इन खातों को
LoginCustomerIdसेटिंग के लिए मान्य वैल्यू के तौर पर इस्तेमाल किया जा सकता है.
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल
Java क्लाइंट लाइब्रेरी, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल से पुष्टि करने की सुविधा भी देती है.
यह सुविधा, स्थानीय डेवलपमेंट या Google के अलग-अलग एपीआई के लिए डेवलपमेंट के दौरान काफ़ी काम की होती है. इसकी वजह यह है कि एक ही क्रेडेंशियल को फिर से इस्तेमाल किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि वे सही OAuth 2.0 स्कोप को ऐक्सेस कर सकें.
Google Ads API के लिए, पक्का करें कि आपके ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल, https://www.googleapis.com/auth/adwords OAuth 2.0 स्कोप को ऐक्सेस कर सकें.
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करने के लिए, अपनी ads.properties फ़ाइल में api.googleads.useApplicationDefaultCredentials विकल्प को true पर सेट करें. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करते समय, क्लाइंट आईडी, क्लाइंट सीक्रेट, और रीफ़्रेश टोकन सेट नहीं किए जाने चाहिए.