Google के अन्य एपीआई की तरह, Google Ads API भी पुष्टि करने और अनुमति देने के लिए OAuth 2.0 प्रोटोकॉल का इस्तेमाल करता है. OAuth 2.0 की मदद से, आपका Google Ads API .NET क्लाइंट ऐप्लिकेशन, किसी उपयोगकर्ता के Google Ads खाते को ऐक्सेस कर सकता है. इसके लिए, उसे उपयोगकर्ता की लॉगिन जानकारी को मैनेज या सेव करने की ज़रूरत नहीं होती.
Google Ads के ऐक्सेस मॉडल के बारे में जानकारी
Google Ads API का असरदार तरीके से इस्तेमाल करने के लिए, Google Ads के ऐक्सेस मॉडल के काम करने का तरीका समझें. Google Ads के ऐक्सेस मॉडल से जुड़ी गाइड पढ़ें.
OAuth वर्कफ़्लो
Google Ads API का इस्तेमाल करते समय, तीन सामान्य वर्कफ़्लो का इस्तेमाल किया जाता है.
सेवा खाते का फ़्लो
अगर आपके ऐप्लिकेशन में किसी व्यक्ति के इंटरैक्शन की ज़रूरत नहीं है, तो हमारा सुझाव है कि आप इस वर्कफ़्लो का इस्तेमाल करें. इस वर्कफ़्लो के लिए कॉन्फ़िगरेशन का एक चरण ज़रूरी है. इसमें उपयोगकर्ता, अपने Google Ads खाते में सेवा खाता जोड़ता है. इसके बाद, ऐप्लिकेशन सेवा खाते के क्रेडेंशियल का इस्तेमाल करके, उपयोगकर्ता के Google Ads खाते को मैनेज कर सकता है.
लाइब्रेरी को इस तरह कॉन्फ़िगर करें:
// Initialize a GoogleAdsConfig instance.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
};
// Initialize a GoogleAdsClient instance.
GoogleAdsClient client = new GoogleAdsClient(config);
ज़्यादा जानने के लिए, सेवा खाते के वर्कफ़्लो की गाइड पढ़ें.
एक उपयोगकर्ता के लिए पुष्टि करने की सुविधा का फ़्लो
अगर सेवा खातों का इस्तेमाल नहीं किया जा सकता, तो इस वर्कफ़्लो का इस्तेमाल किया जा सकता है. इस वर्कफ़्लो के लिए, कॉन्फ़िगरेशन के दो चरण ज़रूरी हैं:
- Google Ads API का इस्तेमाल करके मैनेज किए जाने वाले सभी खातों का ऐक्सेस, एक ही उपयोगकर्ता को दें. आम तौर पर, उपयोगकर्ता को Google Ads API मैनेजर खाते का ऐक्सेस दिया जाता है. साथ ही, उस मैनेजर खाते से सभी Google Ads खातों को लिंक किया जाता है.
- उपयोगकर्ता,
gcloudयाGenerateUserCredentialsकोड के उदाहरण जैसे कमांड-लाइन टूल का इस्तेमाल करके, आपके ऐप्लिकेशन को अपने सभी Google Ads खातों को मैनेज करने की अनुमति देता है.
उपयोगकर्ता के OAuth 2.0 क्रेडेंशियल का इस्तेमाल करके, लाइब्रेरी को इस तरह शुरू करें:
GoogleAdsConfig config = new GoogleAdsConfig()
{
LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE",
OAuth2ClientId = "INSERT_OAUTH_CLIENT_ID_HERE",
OAuth2ClientSecret = "INSERT_OAUTH_CLIENT_SECRET_HERE",
OAuth2RefreshToken = "INSERT_REFRESH_TOKEN_HERE"
};
GoogleAdsClient client = new GoogleAdsClient(config);
ज़्यादा जानने के लिए, एक उपयोगकर्ता के लिए पुष्टि करने के वर्कफ़्लो की गाइड पढ़ें.
डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने का फ़्लो
अगर आपका ऐप्लिकेशन, उपयोगकर्ताओं को साइन इन करने और उनकी ओर से उनके Google Ads खातों को मैनेज करने के लिए, आपके ऐप्लिकेशन को अनुमति देने की सुविधा देता है, तो हमारा सुझाव है कि आप इस वर्कफ़्लो का इस्तेमाल करें. आपका ऐप्लिकेशन, हर उपयोगकर्ता के सेशन या अनुरोध के हिसाब से, OAuth 2.0 के उपयोगकर्ता क्रेडेंशियल को डाइनैमिक तरीके से बनाता और मैनेज करता है. इसके बाद, सक्रिय उपयोगकर्ता के रीफ़्रेश टोकन के साथ GoogleAdsClient को शुरू करता है:
GoogleAdsConfig config = new GoogleAdsConfig()
{
LoginCustomerId = userSession.LoginCustomerId,
OAuth2ClientId = "INSERT_OAUTH_CLIENT_ID_HERE",
OAuth2ClientSecret = "INSERT_OAUTH_CLIENT_SECRET_HERE",
OAuth2RefreshToken = userSession.RefreshToken
};
GoogleAdsClient client = new GoogleAdsClient(config);
Google.Ads.GoogleAds v27.0.0 से, Credentials प्रॉपर्टी का इस्तेमाल करके, पहले से कॉन्फ़िगर किए गए ICredential या GoogleCredential ऑब्जेक्ट को सीधे GoogleAdsConfig में इंजेक्ट किया जा सकता है.
ज़्यादा जानने के लिए, डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने की सुविधा से जुड़ी वर्कफ़्लो गाइड देखें. .NET क्लाइंट लाइब्रेरी में, रेफ़रंस के लिए कोड के दो उदाहरण शामिल हैं:
AuthenticateInAspNetCoreApplicationकोड के इस उदाहरण में, एक ऐसा वेब ऐप्लिकेशन बनाने का तरीका बताया गया है जो रनटाइम पर उपयोगकर्ता की पुष्टि करता है. इससे, उपयोगकर्ता की ओर से उसके Google Ads खातों को मैनेज किया जा सकता है. यह ऐप्लिकेशन, उपयोगकर्ता के OAuth 2.0 क्रेडेंशियल का इस्तेमाल करके, उसके Google Ads खाते में मौजूद कैंपेन को वापस लाता है.GenerateUserCredentialsकमांड-लाइन कोड के इस उदाहरण में बताया गया है कि रनटाइम के दौरान उपयोगकर्ता की पुष्टि कैसे की जाती है, ताकि उसकी ओर से उसके Google Ads खातों को मैनेज किया जा सके. इस कोड के उदाहरण का इस्तेमाल, डेस्कटॉप ऐप्लिकेशन बनाने के लिए किया जा सकता है. इन ऐप्लिकेशन में उपयोगकर्ता की पुष्टि करना ज़रूरी होता है.
अगर मेरा उपयोगकर्ता कई खाते मैनेज करता है, तो क्या होगा?
आम तौर पर, कोई उपयोगकर्ता एक से ज़्यादा Google Ads खातों को मैनेज करता है. इसके लिए, वह खातों को सीधे तौर पर ऐक्सेस करता है या Google Ads मैनेजर खाते का इस्तेमाल करता है. .NET क्लाइंट लाइब्रेरी में, कोड के ये उदाहरण दिए गए हैं. इनमें बताया गया है कि ऐसे मामलों को कैसे मैनेज किया जाता है:
GetAccountHierarchyकोड के इस उदाहरण में, यह दिखाया गया है कि Google Ads मैनेजर खाते से जुड़े सभी खातों की सूची कैसे वापस पाई जाती है.ListAccessibleCustomersकोड के उदाहरण में बताया गया है कि किसी उपयोगकर्ता के पास जिन खातों का सीधा ऐक्सेस है उनकी सूची कैसे पाएं. इसके बाद, इन खातों का इस्तेमालLoginCustomerIdसेटिंग के लिए मान्य वैल्यू के तौर पर किया जा सकता है.
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल
.NET क्लाइंट लाइब्रेरी (v24.1.0 और इसके बाद के वर्शन) में, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके पुष्टि करने की सुविधा भी उपलब्ध है.
यह खास तौर पर लोकल डेवलपमेंट या अलग-अलग Google API के लिए डेवलपमेंट के दौरान काम आता है. ऐसा इसलिए, क्योंकि एक ही क्रेडेंशियल का फिर से इस्तेमाल किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि वे क्रेडेंशियल, OAuth 2.0 के ज़रूरी स्कोप को ऐक्सेस कर सकें.
Google Ads API के लिए, पक्का करें कि आपके ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल, https://www.googleapis.com/auth/adwords OAuth 2.0 स्कोप को ऐक्सेस कर सकते हों.
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल इस्तेमाल करने के लिए, UseApplicationDefaultCredentials विकल्प को true पर सेट करें. इसके लिए, GoogleAdsConfig में जाएं. इसके अलावा, config.LoadFromEnvironmentVariables() की मदद से कॉन्फ़िगरेशन लोड करते समय, USE_APPLICATION_DEFAULT_CREDENTIALS=true एनवायरमेंट वैरिएबल सेट करें:
GoogleAdsConfig config = new GoogleAdsConfig()
{
UseApplicationDefaultCredentials = true,
LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
};
GoogleAdsClient client = new GoogleAdsClient(config);
.NET क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के लिए उपलब्ध विकल्पों के बारे में ज़्यादा जानने के लिए, कॉन्फ़िगरेशन पेज पर जाएं.