Google Ads API के लिए OAuth 2.0 की इंटरनल जानकारी

यह सेक्शन उन ऐडवांस उपयोगकर्ताओं के लिए है जो OAuth 2.0 स्पेसिफ़िकेशन के बारे में पहले से जानते हैं. साथ ही, उन्हें Google APIs के साथ OAuth 2.0 इस्तेमाल करने का तरीका पता है.

दायरा

एक ऐक्सेस टोकन से, कई एपीआई को अलग-अलग लेवल का ऐक्सेस दिया जा सकता है. scope नाम का एक वैरिएबल पैरामीटर, संसाधनों और कार्रवाइयों के उस सेट को कंट्रोल करता है जिसकी अनुमति ऐक्सेस टोकन देता है. ऐक्सेस टोकन के अनुरोध के दौरान, आपका ऐप्लिकेशन scope पैरामीटर में एक या एक से ज़्यादा वैल्यू भेजता है.

Google Ads API का दायरा यह है:

https://www.googleapis.com/auth/adwords

बिना इंटरनेट के इस्तेमाल

Google Ads API क्लाइंट ऐप्लिकेशन के लिए, ऑफ़लाइन ऐक्सेस का अनुरोध करना आम बात है. उदाहरण के लिए, आपका ऐप्लिकेशन बैच जॉब तब चला सकता है, जब उपयोगकर्ता आपकी वेबसाइट ब्राउज़ नहीं कर रहा हो.

वेब ऐप्लिकेशन टाइप के लिए, ऑफ़लाइन ऐक्सेस का अनुरोध करने के लिए, पक्का करें कि आपने access_type पैरामीटर को offline पर सेट किया हो. ज़्यादा जानकारी के लिए, Google की OAuth2 गाइड पढ़ें.

डेस्कटॉप ऐप्लिकेशन के लिए, ऑफ़लाइन ऐक्सेस की सुविधा डिफ़ॉल्ट रूप से चालू होती है. इसके लिए, आपको अलग से अनुरोध करने की ज़रूरत नहीं होती.

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

gRPC हेडर

gRPC API का इस्तेमाल करते समय, हर अनुरोध में ऐक्सेस टोकन शामिल करें. Credential को Channel से बाइंड किया जा सकता है, ताकि उस चैनल पर किए जाने वाले सभी अनुरोधों के लिए इसका इस्तेमाल किया जा सके. आपके पास हर कॉल के लिए, पसंद के मुताबिक क्रेडेंशियल भेजने का विकल्प भी होता है. gRPC ऑथराइज़ेशन गाइड में, ऑथराइज़ेशन को मैनेज करने के बारे में ज़्यादा जानकारी दी गई है.

REST हेडर

REST API का इस्तेमाल करते समय, एचटीटीपी हेडर Authorization के ज़रिए ऐक्सेस टोकन पास करें. एचटीटीपी अनुरोध का एक उदाहरण यहां दिया गया है:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   DEVELOPER_TOKEN,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "developer-token: ${DEVELOPER_TOKEN}" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \