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 खाते को मैनेज कर सकता है.
PHP लाइब्रेरी को इस तरह कॉन्फ़िगर किया जा सकता है:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withJsonKeyFilePath('INSERT_PATH_TO_JSON_KEY_FILE_HERE')
// Optional in v32.1.0 and later (defaults to
// 'https://www.googleapis.com/auth/adwords').
->withScopes('https://www.googleapis.com/auth/adwords')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->build();
ज़्यादा जानने के लिए, सेवा खाते के वर्कफ़्लो की गाइड पढ़ें.
एक उपयोगकर्ता के लिए पुष्टि करने की सुविधा का फ़्लो
अगर सेवा खातों का इस्तेमाल नहीं किया जा सकता, तो इस वर्कफ़्लो का इस्तेमाल किया जा सकता है. इस वर्कफ़्लो के लिए, कॉन्फ़िगरेशन के दो चरण ज़रूरी हैं:
- Google Ads API का इस्तेमाल करके मैनेज किए जाने वाले सभी खातों का ऐक्सेस, एक ही उपयोगकर्ता को दें. आम तौर पर, उपयोगकर्ता को Google Ads API मैनेजर खाते का ऐक्सेस दिया जाता है. साथ ही, उस मैनेजर खाते से सभी Google Ads खातों को लिंक किया जाता है.
- इसके बाद, वह उपयोगकर्ता
GenerateUserCredentialsजैसे कमांड-लाइन टूल का इस्तेमाल करके, आपके ऐप्लिकेशन को अपने सभी Google Ads खातों को मैनेज करने की अनुमति देता है.
लाइब्रेरी को उपयोगकर्ता के OAuth 2.0 क्रेडेंशियल का इस्तेमाल करके, इस तरह शुरू किया जा सकता है:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
ज़्यादा जानने के लिए, एक उपयोगकर्ता के लिए पुष्टि करने के वर्कफ़्लो की गाइड देखें.
डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने का फ़्लो
अगर आपका ऐप्लिकेशन, उपयोगकर्ताओं को साइन इन करने और आपके ऐप्लिकेशन को उनकी ओर से उनके Google Ads खातों को मैनेज करने की अनुमति देने की सुविधा देता है, तो हमारा सुझाव है कि आप इस वर्कफ़्लो का इस्तेमाल करें. आपका ऐप्लिकेशन, पुष्टि किए गए हर उपयोगकर्ता सेशन के लिए, OAuth 2.0 के उपयोगकर्ता क्रेडेंशियल को डाइनैमिक तरीके से बनाता और मैनेज करता है. लाइब्रेरी को, साइन इन किए हुए उपयोगकर्ता के क्रेडेंशियल का इस्तेमाल करके इस तरह शुरू किया जा सकता है:
// Construct credentials dynamically per authenticated user session.
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken($userRefreshToken)
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withLoginCustomerId($userLoginCustomerId)
->build();
ज़्यादा जानने के लिए, डिवाइस के एक से ज़्यादा उपयोगकर्ताओं के लिए पुष्टि करने की प्रोसेस की गाइड देखें.
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल
PHP क्लाइंट लाइब्रेरी में, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) का इस्तेमाल करके भी पुष्टि की जा सकती है. जब OAuth2TokenBuilder पर न तो ऐप्लिकेशन मोड (clientId, clientSecret, refreshToken) और न ही सेवा खाता मोड (jsonKeyFilePath) के क्रेडेंशियल सेट किए जाते हैं, तो build() को कॉल करने पर, यह अपने-आप ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल पर वापस आ जाता है:
$oAuth2Credential = (new OAuth2TokenBuilder())->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
एक से ज़्यादा खाते प्रबंधित करना
आम तौर पर, कोई उपयोगकर्ता एक से ज़्यादा Google Ads खातों को मैनेज करता है. इसके लिए, वह खातों को सीधे तौर पर ऐक्सेस करता है या Google Ads मैनेजर खाते का इस्तेमाल करता है. PHP क्लाइंट लाइब्रेरी में, कोड के ये उदाहरण दिए गए हैं. इनमें बताया गया है कि ऐसे मामलों को कैसे हैंडल किया जाता है:
GetAccountHierarchyकोड के इस उदाहरण में, Google Ads मैनेजर खाते से जुड़े सभी खातों की सूची पाने का तरीका बताया गया है.ListAccessibleCustomersकोड के उदाहरण में दिखाया गया है कि किसी उपयोगकर्ता के पास जिन खातों का सीधा ऐक्सेस है उनकी सूची कैसे वापस पाई जाती है. इसके बाद, इन खातों का इस्तेमालloginCustomerIdसेटिंग के लिए मान्य वैल्यू के तौर पर किया जा सकता है.