شروع سریع

این راهنمای شروع سریع به شما کمک می‌کند تا اولین فراخوانی API خود را به API گوگل ادز انجام دهید.

مفاهیم کلیدی

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

پیش‌نیازها

برای برقراری ارتباط با API گوگل ادز، باید مراحل زیر را انجام دهید.

توکن توسعه‌دهنده خود را دریافت کنید

اگر قبلاً برای دریافت توکن توسعه‌دهندگان ثبت‌نام کرده‌اید، می‌توانید با مراجعه به مرکز API و ورود به حساب مدیریت تبلیغات گوگل خود، آن را پیدا کنید.

دسترسی به مرکز API

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

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

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

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

پروژه کنسول API گوگل خود را پیکربندی کنید

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

کنسول API گوگل را باز کنید

با فعال کردن API تبلیغات گوگل در پروژه خود شروع کنید:

فعال کردن API تبلیغات گوگل

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

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

  1. در کنسول گوگل کلود، به > IAM & Admin > Service Accounts بروید.

    به حساب‌های سرویس بروید

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

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

  5. روی بستن کلیک کنید.

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

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

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

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

توکن توسعه‌دهنده شما نمی‌تواند برای برقراری تماس‌های API به یک حساب کاربری تولید تبلیغات گوگل استفاده شود. شما فقط می‌توانید تماس‌های API را برای حساب‌های آزمایشی تبلیغات گوگل انجام دهید.

نحوه ایجاد حساب آزمایشی گوگل ادز

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

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

    یک حساب کاربری مدیریت تست گوگل ادز ایجاد کنید

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

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

نحوه اعطای دسترسی به حساب سرویس به حساب Google Ads شما

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

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

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

استفاده از کتابخانه کلاینت

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

استفاده از کلاینت HTTP (REST)

حلقه زدن

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

رابط خط فرمان ابری گوگل

برای نصب 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>41.0.0</version>
</dependency>

وابستگی Gradle به صورت زیر است:

implementation 'com.google.api-ads:google-ads:41.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 24.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.V22.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;
    }
}

پی اچ پی

بسته‌های کتابخانه کلاینت در مخزن 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.'
            )

روبی

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

gem 'google-ads-googleads', '~> 36.0.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::V22::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 برای API تبلیغات گوگل دریافت کنید.

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

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

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