पुष्टि करना और अनुमति देना

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);

ज़्यादा जानने के लिए, सेवा खाते के वर्कफ़्लो की गाइड देखें.

एक उपयोगकर्ता की पुष्टि करने का फ़्लो

अगर सेवा खातों का इस्तेमाल नहीं किया जा सकता, तो इस वर्कफ़्लो का इस्तेमाल किया जा सकता है. इस वर्कफ़्लो को कॉन्फ़िगर करने के लिए, दो चरणों को पूरा करना ज़रूरी है:

  1. Google Ads API का इस्तेमाल करके मैनेज किए जाने वाले सभी खातों का ऐक्सेस, एक ही उपयोगकर्ता को दें. इसका एक सामान्य तरीका यह है कि उपयोगकर्ता को Google Ads API मैनेजर खाते का ऐक्सेस दिया जाए. साथ ही, सभी Google Ads खातों को उस मैनेजर खाते से लिंक किया जाए.
  2. उपयोगकर्ता, 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 क्लाइंट लाइब्रेरी में, रेफ़रंस के लिए कोड के दो उदाहरण शामिल हैं:

  1. AuthenticateInAspNetCoreApplication कोड के उदाहरण से पता चलता है कि ऐसा वेब ऐप्लिकेशन कैसे बनाया जाए जो रनटाइम के दौरान उपयोगकर्ता की पुष्टि करता है, ताकि उनकी ओर से उनके Google Ads खातों को मैनेज किया जा सके. यह ऐप्लिकेशन, उपयोगकर्ता के Google Ads खाते में मौजूद कैंपेन को वापस पाने के लिए, उसके OAuth 2.0 क्रेडेंशियल का इस्तेमाल करता है.
  2. GenerateUserCredentials कमांड-लाइन कोड के उदाहरण से पता चलता है कि रनटाइम के दौरान उपयोगकर्ता की पुष्टि कैसे की जाती है, ताकि उनकी ओर से उनके Google Ads खातों को मैनेज किया जा सके. इस कोड के उदाहरण का इस्तेमाल, डेस्कटॉप ऐप्लिकेशन बनाने के लिए किया जा सकता है. इन ऐप्लिकेशन में उपयोगकर्ता की पुष्टि करना ज़रूरी होता है.

अगर मेरा उपयोगकर्ता कई खाते मैनेज करता है, तो क्या होगा?

आम तौर पर, कोई उपयोगकर्ता एक से ज़्यादा Google Ads खातों को मैनेज करता है. इसके लिए, वह खातों को सीधे तौर पर ऐक्सेस करता है या Google Ads मैनेजर खाते का इस्तेमाल करता है. .NET क्लाइंट लाइब्रेरी में, कोड के ये उदाहरण दिए गए हैं. इनमें बताया गया है कि ऐसे मामलों को कैसे मैनेज किया जाता है:

  1. GetAccountHierarchy कोड के उदाहरण से पता चलता है कि Google Ads मैनेजर खाते में मौजूद सभी खातों की सूची को कैसे वापस लाया जाए.
  2. ListAccessibleCustomers कोड के उदाहरण में बताया गया है कि किसी उपयोगकर्ता के पास जिन खातों का सीधा ऐक्सेस है उनकी सूची कैसे पाएं. इसके बाद, इन खातों का इस्तेमाल LoginCustomerId सेटिंग के लिए मान्य वैल्यू के तौर पर किया जा सकता है.

ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल

.NET क्लाइंट लाइब्रेरी (v24.1.0 और इसके बाद के वर्शन) में, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल की मदद से पुष्टि करने की सुविधा भी काम करती है.

यह खास तौर पर लोकल डेवलपमेंट या अलग-अलग Google API के लिए डेवलपमेंट के दौरान काम आता है. ऐसा इसलिए, क्योंकि एक ही क्रेडेंशियल का फिर से इस्तेमाल किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि वे क्रेडेंशियल, OAuth 2.0 के ज़रूरी स्कोप को ऐक्सेस कर सकें.

Google Ads API के लिए, पक्का करें कि आपके ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल, https://www.googleapis.com/auth/adwords OAuth 2.0 स्कोप को ऐक्सेस कर सकें.

ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करने के लिए, अपने GoogleAdsConfig में UseApplicationDefaultCredentials विकल्प को true पर सेट करें (या 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 क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के लिए उपलब्ध विकल्पों के बारे में ज़्यादा जानने के लिए, कॉन्फ़िगरेशन पेज पर जाएं.