तुरंत शुरू करना

इस क्विक स्टार्ट गाइड की मदद से, Google Ads API के लिए अपना पहला एपीआई कॉल किया जा सकता है.

मुख्य सिद्धांत

  • Google Cloud प्रोजेक्ट: Google Cloud प्रोजेक्ट, सभी Google सेवाएं बनाने, चालू करने, और उनका इस्तेमाल करने का आधार बनाता है. इनमें एपीआई और OAuth 2.0 एपीआई क्रेडेंशियल मैनेज करना शामिल है. इसे Google Cloud Console से बनाया जा सकता है.
  • एपीआई ऐक्सेस लेवल: Google Cloud प्रोजेक्ट का एपीआई ऐक्सेस लेवल, यह तय करता है कि हर दिन कितने एपीआई कॉल किए जा सकते हैं. साथ ही, यह भी तय करता है कि किन एनवायरमेंट के लिए एपीआई कॉल किए जा सकते हैं. आपके प्रोजेक्ट का एपीआई ऐक्सेस लेवल, आपके प्रोजेक्ट के Google Ads API की खास जानकारी वाले पेज पर दिखता है.
  • Google Ads मैनेजर खाता: Google Ads मैनेजर खाते का इस्तेमाल, अन्य Google Ads खातों को मैनेज करने के लिए किया जाता है. यह Google Ads क्लाइंट खातों या अन्य Google Ads मैनेजर खातों का कलेक्शन हो सकता है.
  • Google Ads क्लाइंट खाता: यह वह Google Ads खाता है जिसका इस्तेमाल, उन विज्ञापनों को चलाने के लिए किया जाता है जिन्हें एपीआई कॉल की मदद से टारगेट करना है.
  • क्लाइंट ग्राहक आईडी: यह 10 अंकों का वह नंबर है जिससे Google Ads क्लाइंट खाते की पहचान होती है. अगर आपने यह आईडी Google Ads यूज़र इंटरफ़ेस (यूआई) से कॉपी किया है, तो पक्का करें कि आपने हाइफ़न हटा दिए हों.
  • OAuth 2.0: OAuth 2.0, अनुमति देने के लिए इंडस्ट्री का स्टैंडर्ड प्रोटोकॉल है. इसका इस्तेमाल, Google के सभी एपीआई करते हैं. एपीआई कॉल करने के लिए, OAuth 2.0 क्रेडेंशियल जनरेट करने के लिए, आपके पास सेवा खाता और कुंजी होनी चाहिए.
  • सेवा खाता: यह एक खास तरह का Google खाता है, जो किसी व्यक्ति के बजाय आपके ऐप्लिकेशन से जुड़ा होता है. इसका इस्तेमाल, Google Ads API के लिए आपके ऐप्लिकेशन की पुष्टि करने के लिए किया जाता है. सेवा खाता पाने के लिए, आपके पास Google Cloud प्रोजेक्ट होना चाहिए.
  • सेवा खाता कुंजी: यह JSON फ़ॉर्मैट में ऐप्लिकेशन क्रेडेंशियल वाली फ़ाइल होती है. इसमें आपके सेवा खाते की निजी कुंजी शामिल होती है. इसका इस्तेमाल, Google Ads API कॉल करते समय, सेवा खाते की पुष्टि करने के लिए OAuth 2.0 क्रेडेंशियल जनरेट करने के लिए किया जाता है. सेवा खाता कुंजी पाने के लिए, आपके पास सेवा खाता होना चाहिए.

ज़रूरी शर्तें

Google Ads API कॉल करने के लिए, आपको यह तरीका अपनाना होगा.

Google Ads API के ऐक्सेस के लिए, Google API Console प्रोजेक्ट को कॉन्फ़िगर करना

Google Cloud प्रोजेक्ट का इस्तेमाल, Google API और OAuth 2.0 एपीआई क्रेडेंशियल मैनेज करने के लिए किया जाता है. Google Cloud Console पर जाकर, अपने मौजूदा Google Cloud प्रोजेक्ट देखे जा सकते हैं या नया प्रोजेक्ट बनाया जा सकता है.

अपने प्रोजेक्ट में Google Ads API चालू करके शुरू करें:

Google Ads API चालू करें

इसके बाद, Google Ads API की खास जानकारी वाले पेज पर जाएं. इस पेज पर, आपका मौजूदा एपीआई ऐक्सेस लेवल दिखता है. अगर आपका मौजूदा एपीआई ऐक्सेस लेवल टेस्ट खाते का ऐक्सेस लेवल है, तो अगले ऐक्सेस लेवल के लिए आवेदन करें सेक्शन को बड़ा करें. एक्सप्लोरर ऐक्सेस लेवल के लिए आवेदन करने के लिए, निर्देशों का पालन करें.

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

सेवा खाता बनाना

एपीआई कॉल करने के लिए, आपके पास सेवा खाता और सेवा खाता कुंजी होनी चाहिए. अगर पहले से किसी अन्य Google API का इस्तेमाल किया जा रहा है और OAuth 2.0 सेवा खाता और कुंजी बनाई गई है, तो इस चरण को छोड़ा जा सकता है और मौजूदा क्रेडेंशियल का फिर से इस्तेमाल किया जा सकता है.

सेवा खाता और कुंजी बनाने का तरीका

  1. Google Cloud Console में, मेन्यू > IAM और एडमिन > सेवा खाते पर जाएं.

    सेवा खातों पर जाएं

  2. अपना सेवा खाता चुनें.
  3. कुंजियां > कुंजी जोड़ें > नई कुंजी बनाएं पर क्लिक करें.
  4. JSON चुनें. इसके बाद, बनाएं पर क्लिक करें.

    आपकी नई सार्वजनिक/निजी कुंजी की जोड़ी जनरेट करके, आपकी मशीन पर एक नई फ़ाइल के तौर पर डाउनलोड की जाती है. डाउनलोड की गई JSON फ़ाइल को अपनी वर्किंग डायरेक्ट्री में credentials.json के तौर पर सेव करें. यह फ़ाइल, इस कुंजी की अकेली कॉपी होती है.

  5. बंद करें पर क्लिक करें.

सबसे पहले, उस Google Ads खाते की पहचान करें जिसके लिए एपीआई कॉल किए जा रहे हैं. आपके Google Cloud प्रोजेक्ट के एपीआई ऐक्सेस लेवल के आधार पर, यह तय होता है कि किस तरह के खाते के लिए एपीआई कॉल किए जा सकते हैं. अपना एपीआई ऐक्सेस लेवल जानने के लिए, अपनी Google Ads API की खास जानकारी वाला पेज देखें.

एक्सप्लोरर, बेसिक, और स्टैंडर्ड ऐक्सेस लेवल

Google Ads के प्रोडक्शन खाते के लिए कॉल किए जा सकते हैं. हालांकि, ज़रूरत पड़ने पर, टेस्ट खाते का ऐक्सेस टैब पर दिए गए निर्देशों का पालन करके, Google Ads का टेस्ट खाता बनाया जा सकता है.

टेस्ट खाते का ऐक्सेस लेवल

Google Ads के प्रोडक्शन खाते के लिए एपीआई कॉल करने के लिए, आपके Google Cloud प्रोजेक्ट का इस्तेमाल नहीं किया जा सकता. सिर्फ़ Google Ads के टेस्ट खातों के लिए एपीआई कॉल किए जा सकते हैं.

Google Ads का टेस्ट खाता बनाने का तरीका

यहां दिए गए निर्देशों के मुताबिक, Google Ads का टेस्ट मैनेजर खाता और a Google Ads का टेस्ट विज्ञापन देने वाले का खाता बनाया जा सकता है.

  1. Google Ads का टेस्ट मैनेजर खाता बनाने के लिए, नीले बटन पर क्लिक करें. अगर कहा जाए, तो किसी ऐसे Google खाते से साइन इन करें जो आपके Google Ads के प्रोडक्शन मैनेजर खाते से लिंक न हो. अगर आपके पास ऐसा कोई खाता नहीं है, तो नया Google खाता बनाने के लिए, उस पेज पर मौजूद खाता बनाएं बटन का इस्तेमाल करें.

    Google Ads का टेस्ट मैनेजर खाता बनाएं

  2. Google Ads के टेस्ट मैनेजर खाते में रहते हुए, Google Ads का टेस्ट ग्राहक खाता बनाएं: खाते > > नया खाता बनाएं पर क्लिक करें और फ़ॉर्म भरें. Google Ads के टेस्ट मैनेजर खाते से बनाए गए सभी Google Ads खाते, Google Ads के टेस्ट खाते होते हैं.
  3. ज़रूरी नहीं, Google Ads के पेज से, Google Ads के टेस्ट क्लाइंट खाते के तहत कुछ कैंपेन बनाएं.

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

Google Ads खाते का ऐक्सेस, सेवा खाते को देने का तरीका

  1. सबसे पहले, अपने Google Ads खाते में एडमिन के तौर पर साइन इन करें.
  2. एडमिन > ऐक्सेस और सुरक्षा पर जाएं.
  3. उपयोगकर्ता टैब में, बटन पर क्लिक करें.
  4. ईमेल इनपुट बॉक्स में, सेवा खाते का ईमेल पता डालें. खाते का सही ऐक्सेस लेवल चुनें और खाता जोड़ें बटन पर क्लिक करें. ध्यान दें कि सेवा खातों के लिए, ईमेल ऐक्सेस लेवल की सुविधा उपलब्ध नहीं है.
  5. सेवा खाते को ऐक्सेस मिल गया है.
  6. [ज़रूरी नहीं] डिफ़ॉल्ट रूप से, सेवा खाते को एडमिन ऐक्सेस नहीं दिया जा सकता. अगर आपके एपीआई कॉल के लिए एडमिन ऐक्सेस की ज़रूरत है, तो ऐक्सेस को इस तरह अपग्रेड किया जा सकता है.
    1. ऐक्सेस लेवल कॉलम में, सेवा खाते के ऐक्सेस लेवल के बगल में मौजूद ड्रॉप-डाउन ऐरो पर क्लिक करें.
    2. ड्रॉप-डाउन सूची से एडमिन चुनें.

टूल और क्लाइंट लाइब्रेरी डाउनलोड करना

आपके पास क्लाइंट लाइब्रेरी या एचटीटीपी क्लाइंट डाउनलोड करने का विकल्प होता है. यह इस बात पर निर्भर करता है कि आपको एपीआई कॉल कैसे करने हैं.

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

अपनी पसंद की क्लाइंट लाइब्रेरी डाउनलोड और इंस्टॉल करें.

एचटीटीपी क्लाइंट (REST) का इस्तेमाल करना

curl

यूआरएल के ज़रिए डेटा ट्रांसफ़र करने के लिए, कमांड लाइन टूल curl डाउनलोड और इंस्टॉल करें.

Google Cloud सीएलआई

gcloud सीएलआई इंस्टॉल करने के लिए, निर्देशों का पालन करें.

इस गाइड के बाकी निर्देशों की पुष्टि, gcloud टूल के इस वर्शन के साथ की गई है. हो सकता है कि ये निर्देश, पिछले वर्शन के साथ काम न करें. इसकी वजह, ऐप्लिकेशन के व्यवहार या कमांड-लाइन विकल्पों में अंतर हो सकता है.

:~$ gcloud version
Google Cloud SDK 492.0.0
alpha 2024.09.06
beta 2024.09.06
bq 2.1.8
bundled-python3-unix 3.11.9
core 2024.09.06
enterprise-certificate-proxy 0.3.2
gcloud-crc32c 1.0.0
gsutil 5.30

एपीआई कॉल करना

एपीआई कॉल करने के तरीके के बारे में निर्देश पाने के लिए, अपनी पसंद का क्लाइंट चुनें:

Java

क्लाइंट लाइब्रेरी के आर्टफ़ैक्ट, Maven central repository पर पब्लिश किए जाते हैं. क्लाइंट लाइब्रेरी को अपने प्रोजेक्ट में डिपेंडेंसी के तौर पर इस तरह जोड़ें:

Maven की डिपेंडेंसी यह है:

<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
  <version>46.0.0</version>
</dependency>

Gradle की डिपेंडेंसी यह है:

implementation 'com.google.api-ads:google-ads:46.0.0'

हम डिपेंडेंसी वर्शन मैनेज करने के लिए, Google Ads API के बिल ऑफ़ मटीरियल (बीओएम) का इस्तेमाल करने का भी सुझाव देते हैं. निर्देशों के लिए, बीओएम गाइड देखें.

~/ads.properties नाम की एक फ़ाइल बनाएं. इसमें यह कॉन्टेंट शामिल करें:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

GoogleAdsClient ऑब्जेक्ट इस तरह बनाएं:

GoogleAdsClient googleAdsClient = null;
try {
  googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build();
} catch (FileNotFoundException fnfe) {
  System.err.printf(
      "Failed to load GoogleAdsClient configuration from file. Exception: %s%n",
      fnfe);
  System.exit(1);
} catch (IOException ioe) {
  System.err.printf("Failed to create GoogleAdsClient. Exception: %s%n", ioe);
  System.exit(1);
}

इसके बाद, अपने खाते में मौजूद कैंपेन वापस पाने के लिए, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट रन करें.

private void runExample(GoogleAdsClient googleAdsClient, long customerId) {
  try (GoogleAdsServiceClient googleAdsServiceClient =
      googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) {
    String query = "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id";
    // Constructs the SearchGoogleAdsStreamRequest.
    SearchGoogleAdsStreamRequest request =
        SearchGoogleAdsStreamRequest.newBuilder()
            .setCustomerId(Long.toString(customerId))
            .setQuery(query)
            .build();

    // Creates and issues a search Google Ads stream request that will retrieve all campaigns.
    ServerStream<SearchGoogleAdsStreamResponse> stream =
        googleAdsServiceClient.searchStreamCallable().call(request);

    // Iterates through and prints all of the results in the stream response.
    for (SearchGoogleAdsStreamResponse response : stream) {
      for (GoogleAdsRow googleAdsRow : response.getResultsList()) {
        System.out.printf(
            "Campaign with ID %d and name '%s' was found.%n",
            googleAdsRow.getCampaign().getId(), googleAdsRow.getCampaign().getName());
      }
    }
  }
}

C#

क्लाइंट लाइब्रेरी के पैकेज, Nuget.org रिपॉज़िटरी पर पब्लिश किए जाते हैं. Google.Ads.GoogleAds पैकेज में, nuget रेफ़रंस जोड़कर शुरू करें.

dotnet add package Google.Ads.GoogleAds --version 26.1.0

काम की सेटिंग के साथ GoogleAdsConfig ऑब्जेक्ट बनाएं और इसका इस्तेमाल करके, GoogleAdsClient ऑब्जेक्ट बनाएं.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
    LoginCustomerId = ******
};
GoogleAdsClient client = new GoogleAdsClient(config);

इसके बाद, अपने खाते में मौजूद कैंपेन वापस पाने के लिए, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट रन करें. इस गाइड में, रिपोर्टिंग के बारे में ज़्यादा जानकारी नहीं दी गई है.

public void Run(GoogleAdsClient client, long customerId)
{
    // Get the GoogleAdsService.
    GoogleAdsServiceClient googleAdsService = client.GetService(
        Services.V25.GoogleAdsService);

    // Create a query that will retrieve all campaigns.
    string query = @"SELECT
                    campaign.id,
                    campaign.name,
                    campaign.network_settings.target_content_network
                FROM campaign
                ORDER BY campaign.id";

    try
    {
        // Issue a search request.
        googleAdsService.SearchStream(customerId.ToString(), query,
            delegate (SearchGoogleAdsStreamResponse resp)
            {
                foreach (GoogleAdsRow googleAdsRow in resp.Results)
                {
                    Console.WriteLine("Campaign with ID {0} and name '{1}' was found.",
                        googleAdsRow.Campaign.Id, googleAdsRow.Campaign.Name);
                }
            }
        );
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}

PHP

क्लाइंट लाइब्रेरी के पैकेज, Packagist repository पर पब्लिश किए जाते हैं. अपने प्रोजेक्ट की रूट डायरेक्ट्री में जाएं और लाइब्रेरी और उसकी सभी डिपेंडेंसी को अपने प्रोजेक्ट की रूट डायरेक्ट्री की vendor/ डायरेक्ट्री में इंस्टॉल करने के लिए, यह कमांड रन करें.

composer require googleads/google-ads-php:33.6.0

GitHub रिपॉज़िटरी से google_ads_php.ini फ़ाइल की एक कॉपी बनाएं और इसमें अपने क्रेडेंशियल शामिल करने के लिए, इसमें बदलाव करें.

[GOOGLE_ADS]
loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"

[OAUTH2]
jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE"
scopes = "https://www.googleapis.com/auth/adwords"

GoogleAdsClient ऑब्जेक्ट का इंस्टेंस बनाएं.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

इसके बाद, अपने खाते में मौजूद कैंपेन वापस पाने के लिए, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट रन करें.

public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId)
{
    $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
    // Creates a query that retrieves all campaigns.
    $query = 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id';
    // Issues a search stream request.
    /** @var GoogleAdsServerStreamDecorator $stream */
    $stream = $googleAdsServiceClient->searchStream(
        SearchGoogleAdsStreamRequest::build($customerId, $query)
    );

    // Iterates over all rows in all messages and prints the requested field values for
    // the campaign in each row.
    foreach ($stream->iterateAllElements() as $googleAdsRow) {
        /** @var GoogleAdsRow $googleAdsRow */
        printf(
            "Campaign with ID %d and name '%s' was found.%s",
            $googleAdsRow->getCampaign()->getId(),
            $googleAdsRow->getCampaign()->getName(),
            PHP_EOL
        );
    }
}

Python

क्लाइंट लाइब्रेरी, PyPI पर डिस्ट्रिब्यूट की जाती है. इसे pip कमांड का इस्तेमाल करके इस तरह इंस्टॉल किया जा सकता है:

python -m pip install google-ads==31.2.0

GitHub रिपॉज़िटरी से google-ads.yaml फ़ाइल की एक कॉपी बनाएं और इसमें अपने क्रेडेंशियल शामिल करने के लिए, इसमें बदलाव करें.

login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
json_key_file_path: JSON_KEY_FILE_PATH_HERE

GoogleAdsClient इंस्टेंस बनाने के लिए, GoogleAdsClient.load_from_storage तरीके को कॉल करें. इसे कॉल करते समय, अपने google-ads.yaml का पाथ, तरीके में स्ट्रिंग के तौर पर पास करें:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

लाइब्रेरी के लॉगर में एक हैंडलर जोड़ें. इससे यह पता चलेगा कि लॉग कहां प्रिंट करने हैं. इससे लाइब्रेरी का लॉगर, कंसोल (stdout) पर प्रिंट करेगा.

import logging
import sys

logger = logging.getLogger('google.ads.googleads.client')
logger.addHandler(logging.StreamHandler(sys.stdout))

इसके बाद, अपने खाते में मौजूद कैंपेन वापस पाने के लिए, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट रन करें.

def main(client: GoogleAdsClient, customer_id: str) -> None:
    ga_service: GoogleAdsServiceClient = client.get_service("GoogleAdsService")

    query: str = """
        SELECT
          campaign.id,
          campaign.name
        FROM campaign
        ORDER BY campaign.id"""

    # Issues a search request using streaming.
    stream: Iterator[SearchGoogleAdsStreamResponse] = ga_service.search_stream(
        customer_id=customer_id, query=query
    )

    for batch in stream:
        rows: List[GoogleAdsRow] = batch.results
        for row in rows:
            print(
                f"Campaign with ID {row.campaign.id} and name "
                f'"{row.campaign.name}" was found.'
            )

Ruby

क्लाइंट लाइब्रेरी के लिए Ruby gems, Rubygems gem होस्टिंग साइट पर पब्लिश किए जाते हैं. इसे इंस्टॉल करने का सुझाव दिया गया तरीका, bundler का इस्तेमाल करना है. अपने Gemfile में एक लाइन जोड़ें:

gem 'google-ads-googleads', '~> 43.0.0'

इसके बाद, यह रन करें:

bundle install

GitHub रिपॉज़िटरी से google_ads_config.rb फ़ाइल की एक कॉपी बनाएं और इसमें अपने क्रेडेंशियल शामिल करने के लिए, इसमें बदलाव करें.

Google::Ads::GoogleAds::Config.new do |c|
  c.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  c.keyfile = 'JSON_KEY_FILE_PATH'
end

इस फ़ाइल को जहां रखा गया है उसका पाथ पास करके, GoogleAdsClient इंस्टेंस बनाएं.

client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/google_ads_config.rb')

इसके बाद, अपने खाते में मौजूद कैंपेन वापस पाने के लिए, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट रन करें.

def get_campaigns(customer_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new

  responses = client.service.google_ads.search_stream(
    customer_id: customer_id,
    query: 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id',
  )

  responses.each do |response|
    response.results.each do |row|
      puts "Campaign with ID #{row.campaign.id} and name '#{row.campaign.name}' was found."
    end
  end
end

Perl

लाइब्रेरी, CPAN पर डिस्ट्रिब्यूट की जाती है. अपनी पसंद की डायरेक्ट्री में, google-ads-perl रिपॉज़िटरी क्लोन करके शुरू करें.

git clone https://github.com/googleads/google-ads-perl.git

google-ads-perl डायरेक्ट्री में जाएं और लाइब्रेरी का इस्तेमाल करने के लिए ज़रूरी सभी डिपेंडेंसी इंस्टॉल करने के लिए, कमांड प्रॉम्प्ट पर यह कमांड रन करें.

cd google-ads-perl
cpan install Module::Build
perl Build.PL
perl Build installdeps

GitHub रिपॉज़िटरी से googleads.properties फ़ाइल की एक कॉपी बनाएं और इसमें अपने क्रेडेंशियल शामिल करने के लिए, इसमें बदलाव करें.

jsonKeyFilePath=JSON_KEY_FILE_PATH
loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

इस फ़ाइल को जहां रखा गया है उसका पाथ पास करके, Client इंस्टेंस बनाएं.

my $properties_file = "/path/to/googleads.properties";

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => $properties_file
});

इसके बाद, अपने खाते में मौजूद कैंपेन वापस पाने के लिए, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट रन करें.

sub get_campaigns {
  my ($api_client, $customer_id) = @_;

  # Create a search Google Ads stream request that will retrieve all campaigns.
  my $search_stream_request =
    Google::Ads::GoogleAds::V25::Services::GoogleAdsService::SearchGoogleAdsStreamRequest
    ->new({
      customerId => $customer_id,
      query      =>
        "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id"
    });

  # Get the GoogleAdsService.
  my $google_ads_service = $api_client->GoogleAdsService();

  my $search_stream_handler =
    Google::Ads::GoogleAds::Utils::SearchStreamHandler->new({
      service => $google_ads_service,
      request => $search_stream_request
    });

  # Issue a search request and process the stream response to print the requested
  # field values for the campaign in each row.
  $search_stream_handler->process_contents(
    sub {
      my $google_ads_row = shift;
      printf "Campaign with ID %d and name '%s' was found.\n",
        $google_ads_row->{campaign}{id}, $google_ads_row->{campaign}{name};
    });

  return 1;
}

curl

gcloud सीएलआई में, सेवा खाते को चालू क्रेडेंशियल के तौर पर सेट करके शुरू करें.

gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSON

इसके बाद, Google Ads API के लिए OAuth 2.0 ऐक्सेस टोकन फ़ेच करें.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

इसके बाद, अपने खाते में मौजूद कैंपेन वापस पाने के लिए, GoogleAdsService.SearchStream तरीके का इस्तेमाल करके, कैंपेन की रिपोर्ट रन करें.

curl -i -X POST https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer ACCESS_TOKEN" \
   -H "developer-token: DEVELOPER_TOKEN" \
   -H "login-customer-id: LOGIN_CUSTOMER_ID" \
   --data-binary "@query.json"

query.json का कॉन्टेंट यह है:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}

अगर पहले कॉल के दौरान गड़बड़ियां आती हैं, तो समस्या हल करने के बारे में सलाह पाने के लिए, एपीआई की गड़बड़ियां ठीक करना लेख देखें.