使用 Google Ad Manager API(Beta 版)读取 Ad Manager 数据并生成报告。
如需发出您的第一个 API 请求,请完成以下步骤:
获取对 Ad Manager 广告资源网的访问权限
如果您还没有 Ad Manager 账号,请注册一个。
启用 Ad Manager API
在您的 Google API 控制台项目中启用 Ad Manager API。
身份验证
所有 API 请求都必须使用 OAuth2 进行身份验证。
Ad Manager API 客户端库会从应用默认凭证读取凭据。您可以使用环境变量或 gcloud 设置这些变量。
服务账号
Linux 或 macOS
export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH
Windows
set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH
用户凭据
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/admanager"
# End user credentials must specify the cloud project where the API is enabled.
gcloud auth application-default set-quota-project PROJECT_ID
如需详细了解如何选择凭据类型和创建凭据,请参阅身份验证指南。
设置客户端库
Java
对于 Maven:
<!-- pom.xml -->
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>ad-manager</artifactId>
<version>0.1.0</version>
</dependency>
对于 Gradle:
implementation 'com.google.api-ads:ad-manager:0.1.0'
Python
从 PyPi 安装客户端库。
pip install google-ads-admanager
.NET
从 NuGet 安装客户端库。
通过 .NET CLI:
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
作为软件包引用:
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />
PHP
通过 Composer 安装客户端库。
composer require googleads/ad-manager
Ruby
从 RubyGems 安装客户端库。
Gemfile:
gem 'google-ads-ad_manager', '~> 0.2.0'
安装:
gem install google-ads-ad_manager
Node.js
从 npm 安装客户端库。
从命令行:
npm install @google-ads/admanager
作为软件包引用:
// package.json
"dependencies": {
"@google-ads/admanager": "^0.1.0"
}
提交第一个请求
Java
import com.google.ads.admanager.v1.GetNetworkRequest;
import com.google.ads.admanager.v1.Network;
import com.google.ads.admanager.v1.NetworkName;
import com.google.ads.admanager.v1.NetworkServiceClient;
public class SyncGetNetwork {
public static void main(String[] args) throws Exception {
syncGetNetwork();
}
public static void syncGetNetwork() throws Exception {
try (NetworkServiceClient networkServiceClient = NetworkServiceClient.create()) {
GetNetworkRequest request =
GetNetworkRequest.newBuilder()
.setName(NetworkName.of("NETWORK_CODE").toString())
.build();
Network response = networkServiceClient.getNetwork(request);
}
}
}
Python
from google.ads import admanager_v1
def sample_get_network():
# Create a client
client = admanager_v1.NetworkServiceClient()
# Initialize request argument(s)
request = admanager_v1.GetNetworkRequest(
name="networks/NETWORK_CODE",
)
# Make the request
response = client.get_network(request=request)
# Handle the response
print(response)
.NET
using Google.Ads.AdManager.V1;
public sealed partial class GeneratedNetworkServiceClientSnippets
{
public void GetNetwork()
{
// Create client
NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
// Initialize request argument(s)
string name = "networks/NETWORK_CODE";
// Make the request
Network response = networkServiceClient.GetNetwork(name);
}
}
PHP
<?php
use Google\Ads\AdManager\V1\Client\NetworkServiceClient;
use Google\Ads\AdManager\V1\GetNetworkRequest;
use Google\Ads\AdManager\V1\Network;
use Google\ApiCore\ApiException;
/**
* API to retrieve a Network object.
*
* @param string $formattedName Resource name of Network.
* Format: networks/{network_code}
* Please see {@see NetworkServiceClient::networkName()} for help formatting this field.
*/
function get_network_sample(string $formattedName): void
{
// Create a client.
$networkServiceClient = new NetworkServiceClient();
// Prepare the request message.
$request = (new GetNetworkRequest())
->setName($formattedName);
// Call the API and handle any network failures.
try {
/** @var Network $response */
$response = $networkServiceClient->getNetwork($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
*/
function callSample(): void
{
$formattedName = NetworkServiceClient::networkName('NETWORK_CODE');
get_network_sample($formattedName);
}
您可以在 GitHub 上找到更多示例。
Ruby
require "google/ads/ad_manager/v1"
def get_network
# Create a client object. The client can be reused for multiple calls.
client = Google::Ads::AdManager::V1::NetworkService::Rest::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request = Google::Ads::AdManager::V1::GetNetworkRequest.new(:name => 'networks/NETWORK_CODE)'
# Call the get_network method.
result = client.get_network request
# The returned object is of type Google::Ads::AdManager::V1::Network.
p result
end
您可以在 GitHub 上找到更多示例。
Node.js
// Resource name of the Network
const name = 'networks/NETWORK_CODE'
// Imports the Admanager library
const {NetworkServiceClient} = require('@google-ads/admanager').v1;
// Instantiates a client
const admanagerClient = new NetworkServiceClient();
async function callGetNetwork() {
// Construct request
const request = {
name,
};
// Run request
const response = await admanagerClient.getNetwork(request);
console.log(response);
}
callGetNetwork();
您可以在 GitHub 上找到更多示例。
cURL
curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://admanager.googleapis.com/v1/networks/NETWORK_CODE