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

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 खातों को मैनेज किया जा सके. यह ऐप्लिकेशन, उपयोगकर्ता के OAuth 2.0 क्रेडेंशियल का इस्तेमाल करके, उसके Google Ads खाते में मौजूद कैंपेन की जानकारी हासिल करता है.
  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 क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने के लिए उपलब्ध विकल्पों के बारे में ज़्यादा जानने के लिए, कॉन्फ़िगरेशन पेज पर जाएं.