हमारा सुझाव है कि Apache Maven या Gradle के साथ क्लाइंट लाइब्रेरी का इस्तेमाल करें.
नया Maven/Gradle प्रोजेक्ट बनाना
अपनी पसंद के आईडीई में, नया Maven या Gradle प्रोजेक्ट बनाएं. हमारे आर्टफ़ैक्ट, Maven Central Repository में पब्लिश किए जाते हैं.
हमारा सुझाव है कि डिपेंडेंसी के वर्शन मैनेज करने के लिए, Google Ads API के बिल ऑफ़ मटीरियल्स (बीओएम) का इस्तेमाल करें. यह Guava
और GAX
जैसी लाइब्रेरी के साथ निर्भरता से जुड़े टकरावों से बचने का सबसे अच्छा तरीका है. इन लाइब्रेरी का इस्तेमाल अन्य फ़्रेमवर्क भी करते हैं. बीओएम यह पक्का करता है कि आपने इन डिपेंडेंसी के उन वर्शन का इस्तेमाल किया हो जिनकी जांच Google Ads क्लाइंट लाइब्रेरी के साथ की गई है.
Maven डिपेंडेंसी यह है:
<!-- Import the Bill of Materials (BOM) to ensure you're using compatible
versions of all google-ads libraries. -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>google-ads-bom</artifactId>
<version>40.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Add the google-ads dependency, without a version. The version is
managed by the BOM. -->
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>google-ads</artifactId>
</dependency>
Gradle डिपेंडेंसी यह है:
// Import the Bill of Materials (BOM).
implementation platform('com.google.api-ads:google-ads-bom:40.0.0')
// Add the google-ads dependency, without a version.
implementation 'com.google.api-ads:google-ads'
आपके पास सोर्स से बनाने का विकल्प भी है. इस गाइड के लिए, यह मान लिया गया है कि आपने ज़रूरी डिपेंडेंसी के साथ एक प्रोजेक्ट सेट अप किया है.
अगर आपको सोर्स से बनाना है, तो पक्का करें कि आपने अपने आईडीई में एनोटेशन प्रोसेसिंग चालू की हो.
बीओएम में शामिल डिपेंडेंसी का एलान करना
Google Ads API
BOM
में, कई सामान्य लाइब्रेरी के वर्शन मैनेज करने की सुविधा शामिल है. जैसे, Guava
,
Protobuf
, GAX
, और gRPC
. डिपेंडेंसी से जुड़ी समस्याओं से बचने के लिए, बीओएम में शामिल डिपेंडेंसी का एलान करते समय, आपको वर्शन तय नहीं करना चाहिए.
BOM, इन लाइब्रेरी के वर्शन को अपने-आप मैनेज करता है. इससे यह पक्का होता है कि ये लाइब्रेरी एक-दूसरे के साथ काम करती हैं.
उदाहरण के लिए, Maven में Guava
डिपेंडेंसी का एलान करने के लिए, इसका इस्तेमाल करें:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
Gradle में:
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
वर्शन को शामिल न करने पर, बीओएम इसे मैनेज करता है. इससे, डिपेंडेंसी के ऐसे वर्शन की वजह से होने वाली समस्याओं को रोकने में मदद मिलती है जो एक-दूसरे के साथ काम नहीं करते. डिपेंडेंसी के टकराव के सामान्य इंडिकेटर में NoSuchMethodError
या ClassNotFoundException
शामिल हैं. इन्हें अक्सर इस बात की पुष्टि करके ठीक किया जा सकता है कि बीओएम मैनेज की गई सभी डिपेंडेंसी में कोई वर्शन तय नहीं किया गया है.
एपीआई की मदद से पुष्टि करने के लिए क्रेडेंशियल पाना
Google Ads API को ऐक्सेस करने के लिए, OAuth क्रेडेंशियल और Google Ads API डेवलपर टोकन की ज़रूरत होती है. इस सेक्शन में बताया गया है कि ये क्या हैं, इनका इस्तेमाल कैसे किया जाता है, और इन्हें कैसे हासिल किया जाता है.
डेवलपर टोकन (एपीआई का ऐक्सेस पाने के लिए)
डेवलपर टोकन, मैनेजर खाते से लिंक होता है. इसे Google Ads के वेब इंटरफ़ेस में देखा जा सकता है.
डेवलपर टोकन को मैनेजर खाते से लिंक किया जाता है. हालांकि, इससे उस खाते का ऐक्सेस नहीं मिलता. इसके बजाय, डेवलपर टोकन से एपीआई का सामान्य ऐक्सेस मिलता है. साथ ही, खाता-लेवल का ऐक्सेस OAuth के ज़रिए कॉन्फ़िगर किया जाता है.
Google Ads खातों को ऐक्सेस करने के लिए OAuth क्रेडेंशियल
Google Ads खातों का ऐक्सेस रखने वाले Google खाते के उपयोगकर्ताओं के तौर पर अनुमति देने के लिए, आपको OAuth क्रेडेंशियल का सेट देना होगा.
आम तौर पर, दो OAuth फ़्लो का इस्तेमाल किया जाता है: डेस्कटॉप (इंस्टॉल किया गया) ऐप्लिकेशन या वेब ऐप्लिकेशन. इन दोनों के बीच मुख्य अंतर यह है कि डेस्कटॉप ऐप्लिकेशन को सिस्टम ब्राउज़र खोलना होगा और Google के अनुमति देने वाले सर्वर से मिलने वाले जवाबों को मैनेज करने के लिए, लोकल रीडायरेक्ट यूआरआई देना होगा. वहीं, वेब ऐप्लिकेशन किसी भी तीसरे पक्ष के ब्राउज़र को अनुमति देने की प्रोसेस पूरी करने के लिए रीडायरेक्ट कर सकते हैं. साथ ही, क्रेडेंशियल को आपके सर्वर पर वापस भेज सकते हैं. यह लाइब्रेरी, सेवा खाते के उस फ़्लो के साथ भी काम करती है जिसका इस्तेमाल कम किया जाता है.
- अपने क्रेडेंशियल का इस्तेमाल करके अनुमति देने पर (डेस्कटॉप ऐप्लिकेशन फ़्लो)
- OAuth डेस्कटॉप ऐप्लिकेशन फ़्लो देखें. इसमें वह सभी जानकारी शामिल होती है जो आपको अपने क्रेडेंशियल से पुष्टि करने के लिए चाहिए.
- अगर आपने तीसरे पक्ष के Google उपयोगकर्ता के तौर पर अनुमति दी है (वेब फ़्लो)
- OAuth वेब ऐप्लिकेशन फ़्लो देखें. इसमें, तीसरे पक्ष के किसी भी उपयोगकर्ता के लिए OAuth ऑथराइज़ेशन सेट अप करने का तरीका बताया गया है.
- अगर आपने Google Apps डोमेन के उपयोगकर्ता (सेवा खाते का फ़्लो) के तौर पर अनुमति दी है
- OAuth सेवा खाते के फ़्लो के बारे में जानें. इसमें Google Apps डोमेन के उपयोगकर्ताओं के लिए, OAuth ऑथराइज़ेशन सेट अप करने का तरीका बताया गया है.
अगर आपको Google Ads ग्राहक खाते का ऐक्सेस, Google Ads मैनेजर खाते से मिला है, तो आपको लॉगिन ग्राहक आईडी भी देना होगा. इसके बारे में यहां बताया गया है.
लॉगिन ग्राहक आईडी (मैनेजर खाते के ज़रिए Google Ads खातों को ऐक्सेस करने के लिए)
विज्ञापन दिखाने वाले खाते का ऐक्सेस देने वाले मैनेजर खाते का ग्राहक आईडी डालें. हालांकि, यह ज़रूरी नहीं है. अगर आपको ग्राहक खाते का ऐक्सेस, मैनेजर खाते के ज़रिए मिला है, तो आपको यह जानकारी देनी होगी. ग्राहक आईडी के पाथ पर सभी मैनेजर खातों को शामिल करने की ज़रूरत नहीं है. सिर्फ़ उस सबसे ऊपर वाले मैनेजर आईडी को शामिल करें जिसका इस्तेमाल ऐक्सेस की अनुमतियों के लिए किया जा रहा है. ज़्यादा जानकारी के लिए, संबंधित दस्तावेज़ देखें.
अपने क्रेडेंशियल की मदद से क्लाइंट लाइब्रेरी को कॉन्फ़िगर करना
क्लाइंट लाइब्रेरी को कॉन्फ़िगरेशन फ़ाइल, एनवायरमेंट वैरिएबल या प्रोग्राम के हिसाब से कॉन्फ़िगर किया जा सकता है. इस गाइड में, हम कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करेंगे. साथ ही, डेस्कटॉप और वेब फ़्लो पर फ़ोकस करेंगे. अगर आपके पास क्रेडेंशियल का सिर्फ़ एक सेट है, तो कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करना आम तौर पर एक अच्छा तरीका है. उदाहरण के लिए, अगर आपको एक ही मैनेजर खाते से मैनेज किए जा रहे खातों को ऐक्सेस करना है.
नीचे दिए गए कॉन्टेंट के साथ ~/ads.properties
फ़ाइल बनाएं:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
प्लेसहोल्डर को पिछले चरण में मिले क्रेडेंशियल से बदलें.
इसके अलावा, अगर आपका रीफ़्रेश टोकन किसी मैनेजर खाते के लिए है, तो आपको इस खाते के ग्राहक आईडी को लॉगिन ग्राहक के तौर पर सेट करना होगा:
api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
क्रेडेंशियल की पुष्टि करना
यह पक्का करने के लिए कि सब कुछ सही तरीके से सेट अप किया गया है, हम GetCampaigns example को चलाएंगे.
सबसे पहले, google-ads-examples
डायरेक्ट्री में जाएं.
cd google-ads-examples
इस उदाहरण के लिए, --customerId
पैरामीटर की ज़रूरत होती है. इसकी वैल्यू, बिना डैश वाला आपका Google Ads खाता ग्राहक आईडी होता है.
Gradle के साथ चलाने के लिए:
./gradlew -q runExample --example="basicoperations.GetCampaigns --customerId INSERT_CUSTOMER_ID_HERE"
अन्य उदाहरण देखें
google-ads-examples
में मौजूद examples पैकेज में कई काम के उदाहरण दिए गए हैं. ज़्यादातर उदाहरणों के लिए, पैरामीटर ज़रूरी होते हैं. पैरामीटर को आर्ग्युमेंट के तौर पर पास किया जा सकता है (सुझाया गया) या सोर्स कोड में INSERT_XXXXX_HERE
वैल्यू में बदलाव किया जा सकता है. इस्तेमाल से जुड़ा स्टेटमेंट देखने के लिए, उदाहरण के तौर पर सिर्फ़ --help
को आर्ग्युमेंट के तौर पर पास करें.
Gradle के साथ:
./gradlew -q runExample --example="basicoperations.GetCampaigns --help"
सभी उदाहरणों, किसी सबडायरेक्ट्री में मौजूद उदाहरणों या ऐसे उदाहरणों की सूची बनाने के लिए, Gradle में listExamples
टास्क का इस्तेमाल किया जा सकता है जिनमें ब्यौरे में खोज शब्द शामिल है.
# List all examples:
./gradlew -q listExamples
# List examples in the 'basicoperations' subdirectory:
./gradlew -q listExamples --subdirectory='basicoperations'
# Search for examples where the description includes 'Performance Max':
./gradlew -q listExamples --searchTerm='Performance Max'