Bắt đầu nhanh

Hướng dẫn bắt đầu nhanh này giúp bạn thực hiện lệnh gọi API đầu tiên tới Google Ads API.

Khái niệm chính

  • Dự án Google Cloud: Dự án Google Cloud là cơ sở để tạo, bật và sử dụng tất cả các dịch vụ của Google, bao gồm cả việc quản lý API và thông tin xác thực API OAuth 2.0. Bạn có thể tạo một dự án từ Google Cloud Console.
  • Cấp truy cập API: Cấp truy cập API của dự án trên đám mây Google Cloud sẽ kiểm soát số lệnh gọi API mà bạn có thể thực hiện mỗi ngày và các môi trường mà bạn có thể thực hiện lệnh gọi API. Cấp truy cập API của dự án được liệt kê trên trang Tổng quan về Google Ads API của dự án.
  • Tài khoản người quản lý Google Ads: Tài khoản người quản lý Google Ads được dùng để quản lý các tài khoản Google Ads khác, có thể là một tập hợp tài khoản khách hàng Google Ads hoặc các tài khoản người quản lý Google Ads khác.
  • Tài khoản khách hàng Google Ads: Tài khoản Google Ads được dùng để chạy quảng cáo mà bạn muốn nhắm mục tiêu bằng lệnh gọi API.
  • Mã khách hàng của khách hàng: Mã gồm 10 chữ số xác định một tài khoản khách hàng Google Ads. Nếu bạn sao chép mã này từ giao diện người dùng Google Ads, hãy nhớ xoá dấu gạch ngang.
  • OAuth 2.0: OAuth 2.0 là giao thức tiêu chuẩn trong ngành để uỷ quyền, được tất cả các API của Google sử dụng. Bạn cần có tài khoản dịch vụ và khoá để tạo thông tin xác thực OAuth 2.0 nhằm thực hiện lệnh gọi API.
  • Tài khoản dịch vụ: Một loại Tài khoản Google đặc biệt thuộc về ứng dụng của bạn chứ không phải thuộc về người dùng cá nhân. Tài khoản này được dùng để xác thực ứng dụng của bạn với Google Ads API. Bạn cần có một dự án Google Cloud để lấy tài khoản dịch vụ.
  • Khoá tài khoản dịch vụ: Một tệp thông tin xác thực ứng dụng JSON chứa khoá riêng tư cho tài khoản dịch vụ của bạn. Tệp này được dùng để tạo thông tin xác thực OAuth 2.0 nhằm xác thực tài khoản dịch vụ khi thực hiện lệnh gọi API Google Ads API. Bạn cần có tài khoản dịch vụ để lấy khoá tài khoản dịch vụ.

Điều kiện tiên quyết

Để thực hiện lệnh gọi Google Ads API, bạn nên hoàn tất các bước sau.

Định cấu hình dự án trên đám mây để truy cập Google Ads API

Dự án Google Cloud được dùng để quản lý các API của Google và thông tin xác thực API OAuth 2.0. Bạn có thể tìm các dự án Google Cloud hiện có hoặc tạo một dự án bằng cách truy cập Google Cloud Console.

Bắt đầu bằng cách bật Google Ads API trong dự án của bạn:

Bật Google Ads API

Tiếp theo, hãy truy cập vào trang Tổng quan về Google Ads API. Trang này sẽ hiển thị cấp truy cập API hiện tại của bạn. Nếu cấp truy cập API hiện tại của bạn là Thử nghiệm, hãy mở rộng phần Nâng cấp cấp truy cập. Làm theo hướng dẫn để đăng ký cấp truy cập Khám phá.

Sau khi bạn hoàn tất đơn đăng ký, Google sẽ tự động xem xét đơn đăng ký của bạn và nâng cấp lên cấp Khám phá trong hầu hết các trường hợp. Nếu bạn không được cấp quyền truy cập ở cấp Khám phá, đừng lo lắng. Hướng dẫn này sẽ cung cấp các hướng dẫn phù hợp khi bạn định cấu hình tài khoản khách hàng Google Ads.

Tạo một tài khoản dịch vụ

Bạn cần có tài khoản dịch vụ và khoá tài khoản dịch vụ để thực hiện lệnh gọi API. Nếu bạn đã sử dụng một API khác của Google và đã tạo tài khoản dịch vụ và khoá OAuth 2.0, bạn có thể bỏ qua bước này và sử dụng lại thông tin xác thực hiện có.

Cách tạo tài khoản dịch vụ và khoá

  1. Trong Google Cloud Console, hãy chuyển đến Trình đơn > IAM và quản trị > Tài khoản dịch vụ.

    Chuyển đến phần Tài khoản dịch vụ

  2. Chọn tài khoản dịch vụ của bạn.
  3. Nhấp vào Khoá > Thêm khoá > Tạo khoá mới.
  4. Chọn JSON, sau đó nhấp vào Tạo.

    Cặp khoá công khai/riêng tư mới của bạn sẽ được tạo và tải xuống máy của bạn dưới dạng một tệp mới. Lưu tệp JSON đã tải xuống dưới dạng credentials.json trong thư mục làm việc. Tệp này là bản sao duy nhất của khoá này. Đừng xác nhận credentials.json vào hệ thống quản lý phiên bản (ví dụ: thêm tệp này vào tệp .gitignore).

  5. Nhấp vào Đóng.

Bắt đầu bằng cách xác định tài khoản Google Ads mà bạn đang thực hiện lệnh gọi API. Loại tài khoản mà bạn có thể thực hiện lệnh gọi API phụ thuộc vào cấp truy cập API của dự án Google Cloud. Hãy kiểm tra trang tổng quan về Google Ads API để tìm hiểu cấp truy cập API của bạn.

Cấp truy cập Khám phá, Cơ bản và Tiêu chuẩn

Bạn có thể thực hiện lệnh gọi tới tài khoản sản xuất Google Ads. Tuy nhiên, bạn có thể tạo tài khoản thử nghiệm Google Ads bằng cách làm theo hướng dẫn trên thẻ Quyền truy cập thử nghiệm nếu cần.

Quyền truy cập thử nghiệm

Bạn không thể sử dụng dự án trên đám mây Google Cloud để thực hiện lệnh gọi API tới tài khoản sản xuất Google Ads. Bạn chỉ có thể thực hiện lệnh gọi API đối với tài khoản thử nghiệm Google Ads.

Cách tạo tài khoản thử nghiệm Google Ads

Các hướng dẫn sau đây sẽ tạo một tài khoản người quản lý thử nghiệm Google Ads và một tài khoản nhà quảng cáo thử nghiệm Google Ads bên dưới tài khoản đó.

  1. Nhấp vào nút màu xanh dương để tạo tài khoản người quản lý thử nghiệm Google Ads. Nếu được nhắc, hãy đăng nhập bằng Tài khoản Google không liên kết với tài khoản người quản lý sản xuất Google Ads của bạn. Nếu bạn chưa có tài khoản, hãy sử dụng nút Tạo tài khoản trên trang đó để tạo Tài khoản Google mới.

    Tạo tài khoản người quản lý thử nghiệm Google Ads

  2. Trong tài khoản người quản lý thử nghiệm Google Ads, hãy tạo tài khoản khách hàng thử nghiệm Google Ads: Nhấp vào Tài khoản > > Tạo tài khoản mới rồi điền vào biểu mẫu. Mọi tài khoản Google Ads mà bạn tạo từ tài khoản người quản lý thử nghiệm Google Ads đều tự động là tài khoản thử nghiệm Google Ads.
  3. Bạn có thể tạo một vài chiến dịch trong tài khoản khách hàng thử nghiệm Google Ads trên trang Google Ads.

Để thực hiện lệnh gọi API tới một khách hàng Google Ads, bạn phải cấp quyền truy cập và các quyền thích hợp cho tài khoản dịch vụ của mình đối với tài khoản khách hàng Google Ads. Để làm việc này, bạn cần có quyền quản trị đối với tài khoản khách hàng.

Cách cấp quyền truy cập tài khoản dịch vụ vào tài khoản Google Ads

  1. Bắt đầu bằng cách đăng nhập vào tài khoản Google Ads với tư cách quản trị viên.
  2. Chuyển đến Quản trị > Quyền truy cập và bảo mật.
  3. Nhấp vào nút trong thẻ Người dùng.
    Trang Quyền truy cập và bảo mật của Google Ads hiển thị nút thêm người dùng
  4. Nhập địa chỉ email của tài khoản dịch vụ vào hộp nhập Email. Chọn cấp truy cập tài khoản thích hợp rồi nhấp vào nút Thêm tài khoản. Xin lưu ý rằng tài khoản dịch vụ không hỗ trợ cấp truy cập Email.
    Hộp thoại để thêm email tài khoản dịch vụ và chọn cấp truy cập
  5. Tài khoản dịch vụ được cấp quyền truy cập.
    Trang Quyền truy cập và bảo mật cho thấy tài khoản dịch vụ có quyền truy cập
  6. [Không bắt buộc] Bạn không thể cấp quyền quản trị cho tài khoản dịch vụ trong quá trình thiết lập ban đầu. Nếu lệnh gọi API của bạn yêu cầu quyền quản trị truy cập, bạn có thể nâng cấp quyền truy cập như sau.
    1. Nhấp vào mũi tên thả xuống bên cạnh cấp truy cập của tài khoản dịch vụ trong cột Cấp truy cập.
    2. Chọn Quản trị trong danh sách thả xuống.

Tải công cụ và thư viện ứng dụng xuống

Bạn có thể chọn tải thư viện ứng dụng hoặc ứng dụng HTTP xuống tuỳ thuộc vào cách bạn muốn thực hiện lệnh gọi API.

Sử dụng thư viện ứng dụng

Tải xuống và cài đặt thư viện ứng dụng mà bạn chọn.

Sử dụng máy khách HTTP (REST)

curl

Tải và cài đặt curl, công cụ dòng lệnh để chuyển dữ liệu thông qua URL.

Giao diện dòng lệnh của Google Cloud

Làm theo hướng dẫn cài đặt Google Cloud CLI để cài đặt gcloud CLI.

Chúng tôi đã xác minh rằng các hướng dẫn trong phần còn lại của hướng dẫn này hoạt động với phiên bản sau đây của công cụ gcloud và có thể không hoạt động với các phiên bản trước do sự khác biệt về hành vi của ứng dụng hoặc các tuỳ chọn dòng lệnh.

:~$ 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

Thực hiện lệnh gọi API

Chọn ứng dụng bạn muốn để xem hướng dẫn về cách thực hiện lệnh gọi API:

Java

Các cấu phần phần mềm của thư viện ứng dụng được phát hành lên kho lưu trữ Maven Central.

Để quản lý các phiên bản phần phụ thuộc và ngăn xung đột, hãy xem hướng dẫn về Bảng kê khai thành phần (BOM) của Google Ads API.

Nếu bạn không sử dụng BOM, hãy thêm trực tiếp thư viện ứng dụng vào dự án của bạn bằng một trong các công cụ xây dựng sau:

Maven: Thêm phần phụ thuộc sau đây vào tệp pom.xml của bạn:

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

Gradle: Thêm phần phụ thuộc sau đây vào tệp build.gradle:

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

Tạo tệp ads.properties trong thư mục gốc (~/ads.properties trên Linux và macOS hoặc %USERPROFILE%\ads.properties trên Windows) có nội dung sau:

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

Trước khi chạy các yêu cầu API, hãy tạo một thực thể GoogleAdsClient. Theo mặc định, fromPropertiesFile() sẽ tải thông tin xác thực từ tệp ads.properties nằm trong thư mục gốc:

GoogleAdsClient googleAdsClient;
try {
  googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build();
} catch (IOException e) {
  System.err.printf("Failed to create GoogleAdsClient: %s%n", e);
  throw new RuntimeException("Initialization failed", e);
}

Tiếp theo, hãy chạy báo cáo chiến dịch bằng GoogleAdsService.SearchStream để truyền trực tuyến các tập kết quả lớn một cách hiệu quả và truy xuất các chiến dịch trong tài khoản của bạn:

    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#

Các gói thư viện ứng dụng được phát hành lên kho lưu trữ NuGet.org. Bắt đầu bằng cách thêm tham chiếu gói NuGet vào gói Google.Ads.GoogleAds:

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

Để thực hiện lệnh gọi API, hãy tạo đối tượng GoogleAdsConfig từ các chế độ cài đặt cấu hình (chẳng hạn như appsettings.json, biến môi trường hoặc chế độ cài đặt tuỳ chỉnh) rồi truyền đối tượng đó để khởi chạy thực thể GoogleAdsClient:

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

Tiếp theo, hãy chạy báo cáo chiến dịch bằng phương thức GoogleAdsService.SearchStream để truy xuất các chiến dịch trong tài khoản của bạn. Hướng dẫn này không đề cập đến thông tin chi tiết về tính năng báo cáo.

    public void Run(GoogleAdsClient client, long customerId)
{
    // Get the GoogleAdsService.
    GoogleAdsServiceClient googleAdsService = client.GetService(
        Services.V26.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

Các gói thư viện ứng dụng được phát hành lên kho lưu trữ Packagist. Đảm bảo bạn đã cài đặt Composer và phiên bản PHP tương thích, sau đó chuyển vào thư mục gốc của dự án và chạy lệnh sau để cài đặt thư viện và các phần phụ thuộc của thư viện đó trong thư mục vendor/ của dự án:

composer require googleads/google-ads-php:35.2.0

Sao chép tệp google_ads_php.ini từ kho lưu trữ GitHub, lưu tệp đó vào thư mục gốc hoặc thư mục gốc của dự án rồi sửa đổi tệp đó để thêm thông tin xác thực:

[GOOGLE_ADS]
loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"

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

Tạo thực thể GoogleAdsClient bằng tệp cấu hình google_ads_php.ini:

use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\Lib\V26\GoogleAdsClientBuilder;

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

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

Tiếp theo, hãy chạy báo cáo chiến dịch bằng phương thức GoogleAdsService.SearchStream để truy xuất các chiến dịch trong tài khoản của bạn:

    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

Thư viện ứng dụng Google Ads API cho Python được phân phối trên PyPI. Đảm bảo bạn đã cài đặt phiên bản Python được hỗ trợ, sau đó cài đặt thư viện bằng pip:

python -m pip install google-ads==34.0.0

Để xác thực lệnh gọi API, hãy định cấu hình tệp google-ads.yaml:

  1. Tải bản sao của tệp mẫu google-ads.yaml xuống từ kho lưu trữ GitHub.
  2. Lưu tệp này vào thư mục gốc (~/google-ads.yaml) hoặc đường dẫn tuỳ chỉnh.
  3. Mở google-ads.yaml rồi cập nhật tệp đó để thêm thông tin xác thực:

    login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
    json_key_file_path: JSON_KEY_FILE_PATH
    

    Định cấu hình tính năng ghi nhật ký trước khi khởi chạy ứng dụng để thư viện ghi lại mọi cảnh báo khởi chạy hoặc cảnh báo cấu hình. Ví dụ sau đây định cấu hình trình ghi nhật ký của thư viện để xuất nhật ký INFO ra đầu ra chuẩn (stdout):

import logging
import sys

logger = logging.getLogger("google.ads.googleads.client")
logger.setLevel(logging.INFO)
logger.addHandler(logging.StreamHandler(sys.stdout))

Tạo thực thể GoogleAdsClient bằng cách gọi phương thức GoogleAdsClient.load_from_storage và truyền đường dẫn đến tệp google-ads.yaml:

from google.ads.googleads.client import GoogleAdsClient

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

Nếu bạn bỏ qua đối số đường dẫn, load_from_storage() sẽ tìm tệp cấu hình trong thư mục gốc (~/google-ads.yaml) theo mặc định.

Tiếp theo, hãy chạy báo cáo chiến dịch bằng phương thức GoogleAdsService.SearchStream để truy xuất các chiến dịch trong tài khoản của bạn:

    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

Các gem Ruby cho thư viện ứng dụng được phát hành trên RubyGems. Đảm bảo bạn đã cài đặt phiên bản Ruby được hỗ trợ và sử dụng Bundler để cài đặt thư viện:

  1. Thêm gem vào Gemfile của ứng dụng:

    gem 'google-ads-googleads', '~> 46.0.0'
    
  2. Cài đặt gem bằng cách chạy:

    bundle install

Cách định cấu hình thông tin xác thực:

  1. Sao chép tệp mẫu google_ads_config.rb từ kho lưu trữ GitHub.
  2. Lưu tệp này vào thư mục gốc của dự án hoặc thư mục gốc (~).
  3. Mở google_ads_config.rb rồi thay thế các giá trị phần giữ chỗ bằng thông tin xác thực Google Ads API:

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

    Tạo thực thể GoogleAdsClient bằng cách truyền đường dẫn đến tệp cấu hình (google_ads_config.rb):

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

Tiếp theo, hãy chạy báo cáo chiến dịch bằng phương thức GoogleAdsService.SearchStream để truy xuất các chiến dịch trong tài khoản của bạn:

    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

Thư viện ứng dụng Perl được phân phối trên CPAN và yêu cầu Perl 5.28 trở lên và trình quản lý gói cpan hoặc cpanm.

  1. Sao chép kho lưu trữ google-ads-perl trong thư mục bạn chọn:

    git clone https://github.com/googleads/google-ads-perl.git
  2. Chuyển vào thư mục google-ads-perl và chạy các lệnh sau để cài đặt các phần phụ thuộc bắt buộc và xây dựng thư viện:

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

Cách định cấu hình thông tin xác thực:

  1. Sao chép tệp cấu hình mẫu googleads.properties từ kho lưu trữ GitHub vào thư mục gốc (~/googleads.properties):

    cp googleads.properties ~/googleads.properties
  2. Chỉnh sửa ~/googleads.properties để thêm thông tin xác thực:

    jsonKeyFilePath=JSON_KEY_FILE_PATH
    loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
    

    Tạo thực thể Client bằng cách truyền đường dẫn đến tệp googleads.properties đã định cấu hình (chẳng hạn như ~/googleads.properties):

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => "/path/to/googleads.properties"
});

Tiếp theo, hãy chạy báo cáo chiến dịch bằng phương thức GoogleAdsService.SearchStream để truy xuất các chiến dịch trong tài khoản của bạn:

    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::V26::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;
}

Khi được thực thi, tập lệnh sẽ truyền trực tuyến các hàng phù hợp và in mã nhận dạng và tên của từng chiến dịch trong tài khoản của bạn.

curl

Bắt đầu bằng cách đặt tài khoản dịch vụ làm thông tin xác thực đang hoạt động trong gcloud CLI.

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

Tiếp theo, hãy tìm nạp mã truy cập OAuth 2.0 cho Google Ads API.

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

Tạo tệp có tên là query.json chứa yêu cầu Ngôn ngữ truy vấn Google Ads (GAQL):

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

Chạy báo cáo chiến dịch bằng phương thức GoogleAdsService.SearchStream để truy xuất các chiến dịch trong tài khoản của bạn:

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

Nếu bạn gặp lỗi khi thực hiện lệnh gọi đầu tiên, hãy xem bài viết Xử lý lỗi API để được hướng dẫn cách khắc phục sự cố.