ऑथराइज़ेशन और एचटीटीपी हेडर

Google Ads API को कॉल करते समय, आपको OAuth 2.0 क्रेडेंशियल की ज़रूरत होती है. अगर Google Ads मैनेजर खाते से एपीआई कॉल किए जा रहे हैं, तो आपको हर अनुरोध के साथ login-customer-id हेडर भी डालना होगा. इस पेज पर, इन वैल्यू को सेट करने का तरीका बताया गया है. साथ ही, एपीआई के लिए खास तौर पर बनाए गए कई अतिरिक्त एचटीटीपी हेडर के बारे में बताया गया है. ये हेडर, REST इंटरफ़ेस का इस्तेमाल करते समय भेजे और रिसीव किए जाते हैं.

OAuth 2.0 क्रेडेंशियल

Google Ads API, एपीआई अनुरोधों को अनुमति देने के लिए OAuth 2.0 का इस्तेमाल करता है. OAuth 2.0 उपयोगकर्ता की पुष्टि करने का फ़्लो और सेवा खाते का फ़्लो, दोनों काम करते हैं. ज़्यादा जानकारी के लिए, Google Ads API में OAuth 2.0 देखें.

अगर आपने Google API का इस्तेमाल पहले कभी नहीं किया है, तो अपने ऐप्लिकेशन के लिए कोड लिखने से पहले, OAuth 2.0 क्रेडेंशियल और Google Ads API के साथ एक्सपेरिमेंट करने के लिए, gcloud कमांड-लाइन टूल या OAuth 2.0 Playground का इस्तेमाल किया जा सकता है.

हमारा सुझाव है कि आप OAuth 2.0 ऑथराइज़ेशन वर्कफ़्लो लागू करने के लिए, https://oauth.net/code/ पर उपलब्ध OAuth 2.0 लाइब्रेरी में से किसी एक का इस्तेमाल करें. हालांकि, हमने curl के निर्देश दिए हैं, ताकि ज़रूरत पड़ने पर इसे खुद लागू किया जा सके.

सेवा खाते

Google Ads API के लिए Google Cloud प्रोजेक्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं. सेवा खाते का ईमेल और सेवा खाते की कुंजी रिकॉर्ड करें. इसके बाद, अपने Google Ads खाते को ऐक्सेस करने के लिए, सेवा खाता सेट अप करें. इसके लिए, सेवा खाते की गाइड में दिए गए सामान्य निर्देशों का पालन करें.

उपयोगकर्ता की पुष्टि

Google Ads API के लिए Google Cloud Console प्रोजेक्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं. क्लाइंट आईडी और क्लाइंट सीक्रेट को रिकॉर्ड करें. इसके बाद, रीफ़्रेश टोकन और ऐक्सेस टोकन जनरेट करने के लिए, डेस्कटॉप ऐप्लिकेशन फ़्लो के निर्देशों या वेब ऐप्लिकेशन फ़्लो के निर्देशों का पालन करें. Google Ads API को ऐक्सेस करने के लिए, scope का इस्तेमाल करें. यह https://www.googleapis.com/auth/adwords है.

नए ऐक्सेस टोकन जनरेट करना

सेवा खाते

सेवा खाते का ईमेल पता और सेवा खाते की कुंजी मिलने के बाद, सर्वर से सर्वर ऐप्लिकेशन के लिए OAuth 2.0 का इस्तेमाल करना गाइड में दिए गए निर्देशों का पालन करके, JWT क्लेम सेट जनरेट करें. इसके बाद, इसे एक्सचेंज करके OAuth 2.0 ऐक्सेस टोकन हासिल किया जा सकता है. गाइड का पालन करते समय, HTTP/REST टैब को चुनना न भूलें. Google Ads API को ऐक्सेस करने के लिए, OAuth 2.0 scope का इस्तेमाल किया जाता है. यह https://www.googleapis.com/auth/adwords है. इसके अलावा, JWT क्लेम सेट बनाते समय sub पैरामीटर को छोड़ा जा सकता है. ऐसा इसलिए, क्योंकि सेटअप के चरणों से सेवा खाते को Google Ads खाते का सीधा ऐक्सेस मिल जाता है. इससे Google Ads उपयोगकर्ता के तौर पर काम करने की ज़रूरत नहीं पड़ती.

इसके बाद, Google Ads API को किए जाने वाले हर एपीआई कॉल के Authorization एचटीटीपी हेडर में, ऐक्सेस टोकन का इस्तेमाल किया जाता है:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

उपयोगकर्ता की पुष्टि

OAuth 2.0 क्लाइंट आईडी, क्लाइंट सीक्रेट, और रीफ़्रेश टोकन मिलने के बाद, एपीआई कॉल में इस्तेमाल करने के लिए नया ऐक्सेस टोकन जनरेट किया जा सकता है. इसके लिए, curl कमांड लाइन टूल का इस्तेमाल करें:

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

इसके बाद, Google Ads API को किए जाने वाले हर एपीआई कॉल के Authorization एचटीटीपी हेडर में, curl अनुरोध से मिले ऐक्सेस टोकन का इस्तेमाल करें:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

अनुरोध के हेडर

यहां दिए गए सेक्शन में, Google Ads API को अनुरोध भेजते समय ज़रूरी या इस्तेमाल किए जाने वाले एचटीटीपी हेडर के बारे में बताया गया है.

लॉगिन ग्राहक आईडी

अगर कोई मैनेजर, क्लाइंट खाते के लिए Google Ads API कॉल करता है, तो आपको login-customer-id एचटीटीपी हेडर भी देना होगा. ऐसा तब होता है, जब मैनेजर के तौर पर लॉग इन करके, उसके किसी क्लाइंट खाते के लिए एपीआई कॉल किए जाते हैं. यह वैल्यू, एपीआई कॉल करने वाले मैनेजर के Google Ads ग्राहक आईडी को दिखाती है.

इस हेडर को शामिल करना, साइन इन करने के बाद Google Ads के यूज़र इंटरफ़ेस (यूआई) में कोई खाता चुनने या पेज के सबसे ऊपर दाएं कोने में मौजूद अपनी प्रोफ़ाइल इमेज पर क्लिक करने के बराबर है. ग्राहक आईडी डालते समय, पक्का करें कि उसमें कोई हाइफ़न (—) न हो. उदाहरण के लिए: 1234567890, न कि 123-456-7890. लॉगिन ग्राहक आईडी के बारे में ज़्यादा जानने के लिए, Google Ads ऐक्सेस मॉडल गाइड देखें.

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

लिंक किया गया ग्राहक आईडी

लिंक किए गए ग्राहक आईडी हेडर का इस्तेमाल, पार्टनर (जैसे, तीसरे पक्ष के ऐप्लिकेशन ऐनलिटिक्स प्रोवाइडर या डेटा पार्टनर) तब करते हैं, जब वे लिंक किए गए Google Ads खाते पर काम करते हैं. ज़्यादा जानकारी के लिए, एपीआई कॉल स्ट्रक्चर की गाइड देखें.

Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID

रिस्पॉन्स हेडर

एपीआई से मिले एचटीटीपी रिस्पॉन्स में, ये हेडर दिखाए जाते हैं.

अनुरोध का आईडी

request-id एक स्ट्रिंग है, जो एपीआई अनुरोध की खास तौर पर पहचान करती है. किसी खास एपीआई कॉल से जुड़ी समस्याओं को डीबग या हल करते समय, request-id एक अहम आइडेंटिफ़ायर होता है. Google डेवलपर सहायता टीम से संपर्क करते समय, इसे अपने पास रखें.

request-id: 2a5Cj89VV7CNhya1DZjjrC