شروع سریع

این راهنمای شروع سریع به شما کمک می کند اولین تماس API خود را با Google Ads API انجام دهید.

مفاهیم کلیدی

  • نشانه برنامه‌نویس : رمز توسعه‌دهنده یک رشته الفبایی به طول 22 کاراکتر است که برنامه شما را در سرورهای Google Ads API شناسایی می‌کند. برای برقراری تماس های API لازم است.
  • سطح دسترسی API: سطح دسترسی API توکن برنامه‌نویس شما، تعداد تماس‌های API را که می‌توانید در روز انجام دهید و محیط‌هایی را که می‌توانید با آن تماس‌های API برقرار کنید، کنترل می‌کند.
  • حساب مدیر Google Ads: یک حساب مدیر Google Ads برای مدیریت سایر حساب های Google Ads استفاده می شود. یک حساب مدیر Google Ads می تواند برای مدیریت حساب های مشتری Google Ads یا سایر حساب های مدیر Google Ads استفاده شود. برای دریافت توکن توسعه دهنده به یک حساب مدیر Google Ads نیاز دارید.
  • حساب مشتری Google Ads: حساب Google Ads که با آن تماس API برقرار می کنید.
  • شناسه مشتری مشتری: شماره 10 رقمی که حساب مشتری Google Ads را مشخص می کند.
  • OAuth 2.0: OAuth 2.0 یک پروتکل استاندارد صنعتی برای مجوز است که توسط همه APIهای Google استفاده می شود. برای ایجاد تماس‌های API به یک حساب سرویس و کلید برای ایجاد اعتبارنامه OAuth 2.0 نیاز دارید.
  • پروژه Google Cloud: پروژه Google Cloud اساس ایجاد، فعال کردن و استفاده از تمام سرویس‌های Google، از جمله مدیریت APIها و اعتبارنامه‌های OAuth 2.0 API را تشکیل می‌دهد. می‌توانید یکی از Google Cloud Console ایجاد کنید.
  • حساب سرویس: نوع خاصی از حساب Google که به برنامه شما تعلق دارد تا یک کاربر. برای تأیید اعتبار برنامه شما در Google Ads API استفاده می شود. برای به دست آوردن یک حساب سرویس به یک پروژه Google Cloud نیاز دارید.
  • کلید حساب سرویس: یک فایل اعتبار برنامه JSON که حاوی کلید خصوصی حساب سرویس شما است. برای ایجاد اعتبارنامه OAuth 2.0 برای احراز هویت یک حساب سرویس هنگام برقراری تماس API API Google Ads استفاده می شود. برای دریافت کلید حساب سرویس به یک حساب خدماتی نیاز دارید.

پیش نیازها

برای برقراری تماس Google Ads API، باید مراحل زیر را انجام دهید.

توکن Developer خود را دریافت کنید

اگر در گذشته برای یک توکن توسعه‌دهنده ثبت‌نام کرده‌اید، می‌توانید با مراجعه به مرکز API و در حین ورود به حساب مدیر Google Ads، آن را پیدا کنید.

دسترسی به API Center

اگر توکن توسعه دهنده ندارید، می توانید در مرکز API برای آن ثبت نام کنید.

نحوه ثبت نام برای توکن توسعه دهنده

  1. در مرورگر وب خود به API Center بروید. در صورت درخواست وارد حساب مدیر Google Ads خود شوید. اگر یک حساب مدیر Google Ads ندارید، ایجاد کنید .
  2. فرم دسترسی به API را تکمیل کنید و شرایط و ضوابط را بپذیرید.
    • اطمینان حاصل کنید که اطلاعات شما صحیح است و URL وب سایت شرکت شما کار می کند. اگر وب سایت فعال نباشد، ممکن است Google نتواند درخواست شما را پردازش کند و آن را رد کند.
    • مطمئن شوید که ایمیل تماس API که ارائه می‌دهید به یک صندوق ورودی که به طور منظم نظارت می‌شود منتهی شود. تیم انطباق API Google ممکن است در طول فرآیند بررسی برای شفاف سازی با این آدرس ایمیل تماس بگیرد. اگر امکان دسترسی به شما وجود ندارد، ممکن است Google به برنامه شما ادامه ندهد.
    • می‌توانید ایمیل تماس API خود را در مرکز API ویرایش کنید. این اطلاعات را حتی پس از فرآیند درخواست به‌روز نگه دارید تا Google بتواند اعلان‌های خدمات مهم را برای شما ارسال کند.

پس از تکمیل فرآیند درخواست، توکن توسعه دهنده در مرکز API شما با وضعیت تأیید در انتظار ظاهر می شود. رمز توسعه‌دهنده شما اکنون دارای سطح دسترسی به حساب آزمایشی است.

پروژه Google API Console خود را پیکربندی کنید

پروژه Google API Console برای مدیریت Google API و اعتبارنامه OAuth 2.0 API استفاده می شود. می‌توانید پروژه‌های کنسول Google API موجود خود را پیدا کنید یا با بازدید از Google API Console، یکی ایجاد کنید.

Google API Console را باز کنید

با فعال کردن Google Ads API در پروژه خود شروع کنید:

Google Ads API را فعال کنید

در مرحله بعد، برای برقراری تماس های API به یک حساب سرویس و کلید حساب سرویس نیاز دارید. اگر قبلاً از Google API دیگری استفاده می‌کنید و یک حساب و کلید سرویس OAuth 2.0 ایجاد کرده‌اید، می‌توانید از این مرحله رد شده و از اعتبارنامه‌های موجود مجدداً استفاده کنید.

نحوه ایجاد حساب و کلید سرویس

  1. در کنسول Google Cloud، به منو > IAM & Admin > حساب‌های سرویس بروید.

    به حساب های خدماتی بروید

  2. حساب سرویس خود را انتخاب کنید.
  3. روی کلیدها > افزودن کلید > ایجاد کلید جدید کلیک کنید.
  4. JSON را انتخاب کنید، سپس روی ایجاد کلیک کنید.

    جفت کلید عمومی/خصوصی جدید شما تولید شده و به عنوان یک فایل جدید در دستگاه شما دانلود می شود. فایل JSON دانلود شده را به عنوان credentials.json در فهرست کاری خود ذخیره کنید. این فایل تنها کپی این کلید است.

  5. روی Close کلیک کنید.

با شناسایی حساب Google Ads که با آن تماس API برقرار می کنید، شروع کنید. نوع حسابی که می توانید با آن تماس های API برقرار کنید، به سطح دسترسی API توکن توسعه دهنده شما بستگی دارد. برای اطلاع از سطح دسترسی API خود، مرکز API خود را بررسی کنید.

سطوح دسترسی پایه و استاندارد

می‌توانید با حساب تولید Google Ads خود تماس بگیرید. با این حال، در صورت نیاز، می‌توانید با دنبال کردن دستورالعمل‌های موجود در برگه دسترسی به حساب آزمایشی، یک حساب آزمایشی Google Ads ایجاد کنید.

سطح دسترسی به حساب را آزمایش کنید

رمز برنامه‌نویس شما نمی‌تواند برای برقراری تماس‌های API با حساب تولید Google Ads استفاده شود. فقط می‌توانید با حساب‌های آزمایشی Google Ads تماس‌های API برقرار کنید.

چگونه یک حساب آزمایشی Google Ads ایجاد کنیم

دستورالعمل‌های زیر یک حساب مدیریت آزمایشی Google Ads و یک حساب تبلیغ‌کننده Google Ads آزمایشی در زیر آن ایجاد می‌کنند.

  1. برای ایجاد یک حساب مدیر آزمایشی Google Ads روی دکمه آبی کلیک کنید. اگر از شما خواسته شد، با یک حساب Google وارد شوید که به حساب مدیر تولید Google Ads شما مرتبط نیست. اگر ندارید، از دکمه ایجاد حساب در آن صفحه برای ایجاد یک حساب Google جدید استفاده کنید.

    یک حساب مدیر آزمایشی Google Ads ایجاد کنید

  2. زمانی که در حساب مدیر آزمایشی Google Ads خود هستید، یک حساب مشتری آزمایشی Google Ads ایجاد کنید: روی Accounts > > Create new account کلیک کنید و فرم را پر کنید. هر حساب Google Ads که از حساب مدیر آزمون Google Ads خود ایجاد می کنید، به طور خودکار حساب های آزمایشی Google Ads هستند.
  3. در صورت تمایل، چند کمپین تحت حساب مشتری آزمایشی Google Ads از صفحه Google Ads ایجاد کنید.

برای برقراری تماس API با مشتری Google Ads، باید دسترسی و مجوزهای مناسب را به حساب سرویس خود به حساب مشتری Google Ads بدهید. برای انجام این کار، به دسترسی مدیر به حساب مشتری نیاز دارید.

چگونه به حساب سرویس سرویس اجازه دسترسی به حساب Google Ads خود را بدهید

  1. با ورود به حساب Google Ads خود به عنوان سرپرست شروع کنید.
  2. به Admin > Access and Security بروید.
  3. روی دکمه در زیر تب Users کلیک کنید.
  4. آدرس ایمیل حساب سرویس را در کادر ورودی ایمیل تایپ کنید. سطح دسترسی مناسب حساب را انتخاب کنید و روی دکمه افزودن حساب کلیک کنید. توجه داشته باشید که سطح دسترسی ایمیل برای حساب‌های سرویس پشتیبانی نمی‌شود.
  5. به حساب سرویس دسترسی داده شده است.
  6. [اختیاری] به‌طور پیش‌فرض، نمی‌توانید به سرپرست اجازه دسترسی به حساب سرویس بدهید. اگر تماس‌های API شما نیاز به دسترسی سرپرست دارند، می‌توانید دسترسی را به شرح زیر ارتقا دهید.
    1. روی فلش کشویی کنار سطح دسترسی حساب سرویس در ستون Access level کلیک کنید.
    2. از لیست کشویی گزینه Admin را انتخاب کنید.

ابزارها و کتابخانه های مشتری را دانلود کنید

بسته به نحوه برقراری تماس‌های API، می‌توانید انتخاب کنید که یک کتابخانه مشتری یا یک سرویس گیرنده HTTP دانلود کنید.

از کتابخانه مشتری استفاده کنید

یک کتابخانه مشتری به انتخاب خود دانلود و نصب کنید.

استفاده از سرویس گیرنده HTTP (REST)

حلقه کردن

Curl را دانلود و نصب کنید، ابزار خط فرمان برای انتقال داده ها از طریق URL.

Google Cloud CLI

دستورالعمل ها را برای نصب gcloud CLI دنبال کنید.

دستورالعمل‌های بقیه این راهنما برای کار با نسخه زیر ابزار 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

یک تماس API برقرار کنید

مشتری مورد نظر خود را برای دستورالعمل‌های نحوه برقراری تماس API انتخاب کنید:

جاوا

مصنوعات کتابخانه مشتری در مخزن مرکزی Maven منتشر می شود. کتابخانه مشتری را به عنوان یک وابستگی به پروژه خود به صورت زیر اضافه کنید:

وابستگی Maven عبارت است از:

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

وابستگی Gradle عبارت است از:

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

یک فایل ~/ads.properties با محتوای زیر ایجاد کنید:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
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());
      }
    }
  }
}

سی شارپ

بسته های کتابخانه مشتری در مخزن Nuget.org منتشر می شوند. با افزودن یک مرجع nuget به بسته Google.Ads.GoogleAds شروع کنید.

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

یک شی GoogleAdsConfig با تنظیمات مربوطه ایجاد کنید و از آن برای ایجاد یک شی GoogleAdsClient استفاده کنید.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    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.V21.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 منتشر می شوند. به دایرکتوری ریشه پروژه خود تغییر دهید و دستور زیر را برای نصب کتابخانه و تمام وابستگی های آن در پوشه vendor/ دایرکتوری ریشه پروژه خود اجرا کنید.

composer require googleads/google-ads-php:31.0.0

یک کپی از فایل google_ads_php.ini از مخزن GitHub تهیه کنید و آن را طوری تغییر دهید که شامل اعتبار شما باشد.

[GOOGLE_ADS]
developerToken = "INSERT_DEVELOPER_TOKEN_HERE"
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
        );
    }
}

پایتون

کتابخانه مشتری که در PyPI توزیع شده است را می توان با استفاده از دستور pip به صورت زیر نصب کرد:

python -m pip install google-ads==21.3.0

یک کپی از فایل google-ads.yaml از مخزن GitHub تهیه کنید و آن را طوری تغییر دهید که اعتبار شما را در بر بگیرد.

developer_token: INSERT_DEVELOPER_TOKEN_HERE
login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
json_key_file_path: JSON_KEY_FILE_PATH_HERE

با فراخوانی روش GoogleAdsClient.load_from_storage یک نمونه GoogleAdsClient ایجاد کنید. هنگام فراخوانی، مسیر 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.'
            )

روبی

سنگهای روبی برای کتابخانه مشتری در سایت میزبانی جواهر Rubygems منتشر شده است. روش توصیه شده برای نصب استفاده از باندلر است. یک خط به Gemfile خود اضافه کنید:

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

سپس اجرا کنید:

bundle install

یک کپی از فایل google_ads_config.rb از مخزن GitHub تهیه کنید و آن را طوری تغییر دهید که شامل اعتبار شما باشد.

Google::Ads::GoogleAds::Config.new do |c|
  c.developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
  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

پرل

کتابخانه بر روی 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

یک کپی از فایل googleads.properties را از مخزن GitHub تهیه کنید و آن را طوری تغییر دهید که اعتبار شما را در بر بگیرد.

jsonKeyFilePath=JSON_KEY_FILE_PATH
developerToken=INSERT_DEVELOPER_TOKEN_HERE
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::V21::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;
}

حلقه کردن

با تنظیم حساب سرویس به عنوان اعتبارنامه فعال در gcloud CLI شروع کنید.

gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSON

سپس، یک نشانه دسترسی OAuth 2.0 برای Google Ads API دریافت کنید.

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

در مرحله بعد، یک گزارش کمپین را با استفاده از روش GoogleAdsService.SearchStream اجرا کنید تا کمپین های موجود در حساب خود را بازیابی کنید. این راهنما جزئیات گزارش را پوشش نمی دهد.

curl -i -X POST https://googleads.googleapis.com/v21/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"
}