您可以使用 Google Ad Manager SOAP API 构建可管理广告资源、创建订单、提取报告等的应用。
为了帮助您入门,我们提供了 Java、.NET、Python、PHP 和 Ruby 版客户端库。
如需发出您的第一个 API 请求,请按以下步骤操作:
获取对 Ad Manager 广告资源网的访问权限
如果您还没有 Ad Manager 账号,请注册一个账号。如果您想在单独的环境中测试 API,还可以创建测试广告资源网。请注意,您无需拥有 AdSense 账号即可进行测试。
记下您的广告资源网代码。您可以在登录广告资源网后,在网址中找到此信息。例如,在网址 https://admanager.google.com/1234#home 中,1234 是您的广告资源网代码。
创建身份验证凭据
您必须使用 OAuth 2.0 对所有 Ad Manager SOAP API 请求进行身份验证。以下步骤介绍了如何访问您自己的 Ad Manager 数据。如需了解详情和其他选项,请参阅身份验证。
在项目菜单中,选择创建项目,输入项目名称,然后根据需要修改提供的项目 ID。点击创建。
在“凭据”页面上,选择创建凭据,然后选择服务账号密钥。
选择新的服务账号,然后选择
JSON作为密钥类型。点击创建,下载包含私钥的文件。
配置 Ad Manager 广告资源网
登录 Google Ad Manager。
在边栏中,依次点击管理 > 全局设置。
在常规设置 > API 访问权限下,点击滑块以将其切换为已启用。
点击页面底部的保存按钮。
为客户进行设置
下载其中一个 Ad Manager 客户端库。这些库提供封装容器函数和功能,可让您更轻松快速地开发应用。
以下标签页提供了有关使用每种语言(有相应客户端库)进行编码的快速入门指南。
Java
以下是一个基本示例,展示了如何使用 Java 客户端库。如需了解更详细的用法信息,请参阅客户端库分发中的 README 文件。
- 设置凭据
在 shell 中运行以下命令:
打开curl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties~/ads.properties文件并填充以下字段:[...] api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE api.admanager.networkCode=INSERT_NETWORK_CODE_HERE [...]
-
指定依赖项
修改
pom.xml文件,并将以下内容添加到dependencies标记中。您可以在 Github 上找到最新版本号。<dependency> <groupId>com.google.api-ads</groupId> <artifactId>ads-lib</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>com.google.api-ads</groupId> <artifactId>dfp-axis</artifactId> <version>RELEASE</version> </dependency>
-
编写一些代码并发出请求!
import com.google.api.ads.common.lib.auth.OfflineCredentials; import com.google.api.ads.common.lib.auth.OfflineCredentials.Api; import com.google.api.ads.admanager.axis.factory.AdManagerServices; import com.google.api.ads.admanager.axis.v202608.Network; import com.google.api.ads.admanager.axis.v202608.NetworkServiceInterface; import com.google.api.ads.admanager.lib.client.AdManagerSession; import com.google.api.client.auth.oauth2.Credential; public class App { public static void main(String[] args) throws Exception { Credential oAuth2Credential = new OfflineCredentials.Builder() .forApi(Api.AD_MANAGER) .fromFile() .build() .generateCredential(); // Construct an AdManagerSession. AdManagerSession session = new AdManagerSession.Builder() .fromFile() .withOAuth2Credential(oAuth2Credential) .build(); // Construct a Google Ad Manager service factory, which can only be used once per // thread, but should be reused as much as possible. AdManagerServices adManagerServices = new AdManagerServices(); // Retrieve the appropriate service NetworkServiceInterface networkService = adManagerServices.get(session, NetworkServiceInterface.class); // Make a request Network network = networkService.getCurrentNetwork(); System.out.printf("Current network has network code '%s' and display" + " name '%s'.%n", network.getNetworkCode(), network.getDisplayName()); } }
Python
以下是一个基本示例,展示了如何使用 Python 客户端库。 Python 客户端库支持 Python v3.6 及更高版本。如需了解更详细的使用信息,请参阅客户端库分发中的 README 文件。
- 安装库并设置凭据。
在 shell 中运行以下命令:
python3 -m pip install googleadscurl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \ -o ~/googleads.yaml - 设置
~/googleads.yaml文件。填写以下字段:
ad_manager: application_name: INSERT_APPLICATION_NAME_HERE network_code: INSERT_NETWORK_CODE_HERE path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
-
运行一些代码并发出请求。
# Import the library. from googleads import ad_manager # Initialize a client object, by default uses the credentials in ~/googleads.yaml. client = ad_manager.AdManagerClient.LoadFromStorage() # Initialize a service. network_service = client.GetService('NetworkService', version='v202608') # Make a request. current_network = network_service.getCurrentNetwork() print("Current network has network code '%s' and display name '%s'." % (current_network['networkCode'], current_network['displayName']))
PHP
以下是一个基本示例,展示了如何使用 PHP 客户端库。
-
安装库并设置凭据。
在 shell 中运行以下命令,以安装客户端库并将 adsapi_php.ini 文件下载到您的主目录:
composer require googleads/googleads-php-libcurl https://raw.githubusercontent.com/googleads/googleads-php-lib/main/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini -
设置
~/adsapi_php.ini文件。填写以下字段:
[AD_MANAGER] networkCode = "INSERT_NETWORK_CODE_HERE" applicationName = "INSERT_APPLICATION_NAME_HERE" [OAUTH2] jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE" scopes = "https://www.googleapis.com/auth/dfp"
-
运行一些代码并提出请求!
<?php require 'vendor/autoload.php'; use Google\AdsApi\AdManager\AdManagerSession; use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\AdManager\v202608\ApiException; use Google\AdsApi\AdManager\v202608\ServiceFactory; use Google\AdsApi\Common\OAuth2TokenBuilder; // Generate a refreshable OAuth2 credential for authentication. $oAuth2Credential = (new OAuth2TokenBuilder()) ->fromFile() ->build(); // Construct an API session configured from a properties file and the OAuth2 // credentials above. $session = (new AdManagerSessionBuilder()) ->fromFile() ->withOAuth2Credential($oAuth2Credential) ->build(); // Get a service. $serviceFactory = new ServiceFactory(); $networkService = $serviceFactory->createNetworkService($session); // Make a request $network = $networkService->getCurrentNetwork(); printf( "Network with code %d and display name '%s' was found.\n", $network->getNetworkCode(), $network->getDisplayName() );
.NET
以下是一个基本示例,展示了如何使用 .NET 客户端库
- 创建新项目
打开 Visual Studio 并创建一个新项目(控制台应用)。
- 向项目中添加所需的库引用
为 Google.Dfp 添加 NuGet 依赖项。
- 设置 App.config
将 src\App.config 复制到项目目录,然后将其添加到项目中。如果您的应用有自己的 App.config,则可以将以下节点复制到您的 App.config 中:
- 配置/AdManagerApi
- configuration/configSections/section[name="AdManagerApi"]
- 配置/system.net
- 设置凭据
打开 App.config 并修改以下键:
<add key="ApplicationName" value="INSERT_YOUR_APPLICATION_NAME_HERE" /> <add key="NetworkCode" value="INSERT_YOUR_NETWORK_CODE_HERE" /> <add key="OAuth2Mode" value="SERVICE_ACCOUNT" /> <add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
- 致电图书馆
您可以按以下 C# 代码段所示的方式调用该库
AdManagerUser user = new AdManagerUser(); using (InventoryService inventoryService = user.GetService<InventoryService>()) { // Create a statement to select ad units. int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT; StatementBuilder statementBuilder = new StatementBuilder().OrderBy("id ASC").Limit(pageSize); // Retrieve a small amount of ad units at a time, paging through until all // ad units have been retrieved. int totalResultSetSize = 0; do { AdUnitPage page = inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement()); // Print out some information for each ad unit. if (page.results != null) { totalResultSetSize = page.totalResultSetSize; int i = page.startIndex; foreach (AdUnit adUnit in page.results) { Console.WriteLine( "{0}) Ad unit with ID \"{1}\" and name \"{2}\" was found.", i++, adUnit.id, adUnit.name); } } statementBuilder.IncreaseOffsetBy(pageSize); } while (statementBuilder.GetOffset() < totalResultSetSize); Console.WriteLine("Number of results found: {0}", totalResultSetSize); }
如果您不想在 App.config 中设置凭据,请参阅这篇 Wiki 文章,了解使用 AdManagerUser 类的其他方法。如需详细了解如何使用 .NET 客户端库,请参阅 README 。如果您想在不使用客户端库的情况下通过 .NET 进行开发,请参阅 NoClientLibrary wiki 文章。
Ruby
以下是一个基本示例,展示了如何使用 Ruby 客户端库。Ruby 客户端库需要 Ruby 2.1 或更高版本。
-
安装 Ruby gem 并获取配置文件。
在 shell 中运行以下命令:
gem install google-dfp-apicurl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/main/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml -
设置凭据
填写
~/ad_manager_api.yml文件中的必填字段。如果您还没有 OAuth2 密钥文件,则需要按照步骤创建 OAuth2 凭据。:authentication: :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE :application_name: INSERT_APPLICATION_NAME_HERE :network_code: INSERT_NETWORK_CODE_HERE
-
编写一些代码并发出请求!
# Import the library. require 'ad_manager_api' # Initialize an Ad Manager client instance (uses credentials in ~/ad_manager_api.yml by default). ad_manager = AdManagerApi::Api.new # Get a service instance. network_service = ad_manager.service(:NetworkService, :v202608) # Make a request. network = network_service.get_current_network() puts "The current network is %s (%d)." % [network[:display_name], network[:network_code]]
如需了解更详细的入门步骤,请参阅随 Ruby 客户端库分发的 README 文件。您还可以查看我们的 Ruby 完整示例库。
后续步骤
当您成功运行客户端库后,可以修改提供的示例,根据需要进行扩展。
浏览参考文档,详细了解该 API。
如果您需要帮助,请访问我们的支持页面。