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

Google के अन्य एपीआई की तरह, Google Ads API भी पुष्टि करने और अनुमति देने के लिए OAuth 2.0 प्रोटोकॉल का इस्तेमाल करता है. 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 को इस तरह सेट अप करें:

  1. OAuth2 क्रेडेंशियल बनाएं:

    सेवा खाता और JSON कुंजी फ़ाइल जनरेट करने के लिए, दिए गए निर्देशों का पालन करें.

  2. क्लाइंट लाइब्रेरी सेट अप करें:

    अपने कॉन्फ़िगरेशन में, निजी कुंजी का JSON पाथ सेट करें. साथ ही, अगर Google Workspace के डोमेन-वाइड डेलिगेशन का इस्तेमाल किया जा रहा है, तो impersonatedEmail को सेट करें. अगर googleads.properties फ़ाइल का इस्तेमाल किया जा रहा है, तो यह जानकारी जोड़ें:

    jsonKeyFilePath=PRIVATE_KEY_FILE_PATH
    # Optional unless using Google Workspace domain-wide delegation:
    impersonatedEmail=IMPERSONATED_EMAIL
    loginCustomerId=LOGIN_CUSTOMER_ID
    

    अगर एनवायरमेंट वैरिएबल का इस्तेमाल किया जा रहा है, तो अपने Bash कॉन्फ़िगरेशन या एनवायरमेंट में यह जोड़ें:

    export GOOGLE_ADS_JSON_KEY_FILE_PATH=KEY_FILE_PATH
    export GOOGLE_ADS_IMPERSONATED_EMAIL=\
    IMPERSONATED_EMAIL
    export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
    

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

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

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

  1. Google Ads API का इस्तेमाल करके मैनेज किए जाने वाले सभी खातों का ऐक्सेस, एक ही उपयोगकर्ता को दें. आम तौर पर, उपयोगकर्ता को Google Ads API मैनेजर खाते का ऐक्सेस दिया जाता है. साथ ही, उस मैनेजर खाते से सभी Google Ads खातों को लिंक किया जाता है.
  2. उपयोगकर्ता, generate_user_credentials.pl कोड का उदाहरण चलाता है, ताकि आपके ऐप्लिकेशन को उसकी ओर से उसके सभी Google Ads खातों को मैनेज करने की अनुमति मिल सके.

यहां दिए गए तरीके से, इंटरैक्टिव कोड का उदाहरण चलाया जाता है. इसके बाद, आपको इनपुट देना होता है.

  1. टर्मिनल में, examples डायरेक्ट्री में मौजूद generate_user_credentials.pl उदाहरण चलाएं. आपके पास उदाहरण में दी गई INSERT_XXX_HERE वैल्यू में बदलाव करने का विकल्प होता है. इसके अलावा, क्लाइंट आईडी के लिए कमांड-लाइन आर्ग्युमेंट -client_id और क्लाइंट सीक्रेट के लिए -client_secret का इस्तेमाल किया जा सकता है.

    perl generate_user_credentials.pl \
      -client_id OAUTH_CLIENT_ID \
      -client_secret OAUTH_CLIENT_SECRET
    
  2. इस कोड के उदाहरण में, आपको एक यूआरएल पर जाने के लिए कहा जाता है. यहां आपको ऐप्लिकेशन को अपनी ओर से, Google Ads खाता ऐक्सेस करने की अनुमति देनी होगी.

    Paste this url in your browser:
    https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline...
    

    निजी ब्राउज़र सेशन या गुप्त विंडो में यूआरएल पर जाएं. उस Google खाते से साइन इन करें जिसका इस्तेमाल Google Ads को ऐक्सेस करने के लिए किया जाता है. आम तौर पर, यह ऐसा ईमेल खाता होता है जिसके पास Google Ads मैनेजर खाते का ऐक्सेस होता है. इस मैनेजर खाते में, वे सभी खाते शामिल होते हैं जिन्हें आपको खाता हैरारकी में मैनेज करना है. OAuth 2.0 की सहमति वाली स्क्रीन पर, जारी रखें पर क्लिक करें.

    OAuth 2.0 के लिए सहमति लेने वाली स्क्रीन

    आपको एक ऐसे पेज पर रीडायरेक्ट किया जाएगा जहां यह मैसेज दिखेगा कि अनुमति मिल गई है.

    Authorization code was successfully retrieved.
    
  3. उस कंसोल पर वापस जाएं जहां कोड का उदाहरण चलाया जा रहा है. आपको दिखेगा कि कोड का उदाहरण पूरा हो गया है और इसमें आपका रीफ़्रेश टोकन और कुछ निर्देश दिख रहे हैं. इसके बाद, आपको क्लाइंट लाइब्रेरी कॉन्फ़िगर करने के लिए, इन निर्देशों का पालन करना होगा:

    Replace the following keys and values in your googleads.properties
    configuration file:
    
    clientId=***********************apps.googleusercontent.com
    clientSecret=****
    refreshToken=****
    
  4. प्रोसेस बंद करने के लिए, Ctrl + C दबाएं. इसके बाद, जनरेट किए गए रीफ़्रेश टोकन को क्लाइंट आईडी और क्लाइंट सीक्रेट के साथ अपनी googleads.properties फ़ाइल में कॉपी करें. इसके अलावा, इसे किसी और जगह सेव करें, ताकि रनटाइम के दौरान लाइब्रेरी को इंस्टैंटिएट करते समय इसका इस्तेमाल किया जा सके.

लाइब्रेरी को उपयोगकर्ता के OAuth 2.0 क्रेडेंशियल का इस्तेमाल करके शुरू किया जा सकता है. इसके लिए, googleads.properties में यह सेट करें:

clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_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_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
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_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID

ज़्यादा जानने के लिए, डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने की सुविधा से जुड़ी वर्कफ़्लो गाइड देखें.

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

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

  1. get_account_hierarchy.pl उदाहरण में, यह दिखाया गया है कि Google Ads मैनेजर खाते से जुड़े सभी खातों की सूची कैसे वापस पाई जाती है.
  2. list_accessible_customers.pl उदाहरण में बताया गया है कि किसी उपयोगकर्ता के पास सीधे तौर पर ऐक्सेस वाले सभी खातों की सूची कैसे वापस पाई जाती है. इसके बाद, इन खातों का इस्तेमाल googleads.properties फ़ाइल या GOOGLE_ADS_LOGIN_CUSTOMER_ID एनवायरमेंट वैरिएबल में, loginCustomerId सेटिंग के लिए मान्य वैल्यू के तौर पर किया जा सकता है.