网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

Google Ads

2026-03-27 新闻来源:网淘吧 围观:27
电脑广告
手机广告

Google Ads

通过托管的 OAuth 认证访问 Google Ads API。使用 GAQL 查询广告系列、广告组、关键词和效果指标。

快速开始

# List accessible customers
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/google-ads/v23/customers:listAccessibleCustomers')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

基础 URL

https://gateway.maton.ai/google-ads/{native-api-path}

{native-api-path}替换为实际的 Google Ads API 端点路径。网关会将请求代理到googleads.googleapis.com并自动注入 OAuth 和开发者令牌。

认证

所有请求都需要在 Authorization 请求头中包含 Maton API 密钥:

Authorization: Bearer $MATON_API_KEY

环境变量:将您的 API 密钥设置为MATON_API_KEY

export MATON_API_KEY="YOUR_API_KEY"

获取您的 API 密钥

  1. 登录或在maton.ai
  2. 创建账户前往
  3. maton.ai/settings

复制您的 API 密钥

在以下网址管理您的 Google Ads OAuth 连接https://ctrl.maton.ai

列出连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=google-ads&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

创建连接

python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'google-ads'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

获取连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

响应:

{
  "connection": {
    "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
    "status": "ACTIVE",
    "creation_time": "2025-12-08T07:20:53.488460Z",
    "last_updated_time": "2026-01-31T20:03:32.593153Z",
    "url": "https://connect.maton.ai/?session_token=...",
    "app": "google-ads",
    "metadata": {}
  }
}

在浏览器中打开返回的网址以完成 OAuth 授权。

删除连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

指定连接

如果您有多个 Google Ads 连接,请使用Maton-Connection标头指定要使用哪一个:

python <<'EOF'
import urllib.request, os, json
data = json.dumps({'query': 'SELECT campaign.id, campaign.name FROM campaign'}).encode()
req = urllib.request.Request('https://gateway.maton.ai/google-ads/v23/customers/1234567890/googleAds:search', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

如果省略,网关将使用默认(最早创建的)活动连接。

API 参考

列出可访问的客户

GET /google-ads/v23/customers:listAccessibleCustomers

搜索(GAQL 查询)

POST /google-ads/v23/customers/{customerId}/googleAds:search
Content-Type: application/json

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

流式搜索(用于大型结果集)

POST /google-ads/v23/customers/{customerId}/googleAds:searchStream
Content-Type: application/json

{
  "query": "SELECT campaign.id, campaign.name FROM campaign"
}

常见 GAQL 查询

列出广告系列

SELECT campaign.id, campaign.name, campaign.status, campaign.advertising_channel_type
FROM campaign
WHERE campaign.status != 'REMOVED'
ORDER BY campaign.name

广告系列效果

SELECT campaign.id, campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC

列出广告组

SELECT ad_group.id, ad_group.name, ad_group.status, campaign.id, campaign.name
FROM ad_group
WHERE ad_group.status != 'REMOVED'

列出关键词

SELECT ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, metrics.impressions, metrics.clicks
FROM keyword_view
WHERE segments.date DURING LAST_30_DAYS

代码示例

JavaScript

// Get customer IDs
const customers = await fetch(
  'https://gateway.maton.ai/google-ads/v23/customers:listAccessibleCustomers',
  { headers: { 'Authorization': `Bearer ${process.env.MATON_API_KEY}` } }
).then(r => r.json());

// Query campaigns
const campaigns = await fetch(
  `https://gateway.maton.ai/google-ads/v23/customers/${customerId}/googleAds:search`,
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${process.env.MATON_API_KEY}`
    },
    body: JSON.stringify({
      query: 'SELECT campaign.id, campaign.name FROM campaign'
    })
  }
).then(r => r.json());

Python

import os
import requests

headers = {'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}

# Query campaigns
response = requests.post(
    f'https://gateway.maton.ai/google-ads/v23/customers/{customer_id}/googleAds:search',
    headers=headers,
    json={'query': 'SELECT campaign.id, campaign.name FROM campaign'}
)

注意事项

  • 使用listAccessibleCustomers首先获取客户ID
  • 客户ID为10位数字(移除横线)
  • 货币值以微为单位(需除以1,000,000)
  • 日期范围:LAST_7_DAYS,LAST_30_DAYS,THIS_MONTH
  • 状态值:ENABLED,PAUSED,REMOVED
  • 重要提示:使用curl命令时,请使用curl -g当URL中包含括号(fields[]sort[]records[])时,需禁用全局解析
  • 重要提示:当通过管道将curl输出传递给jq或其他命令时,某些shell环境中可能无法正确展开环境变量(如$MATON_API_KEY)。使用管道时可能出现"无效API密钥"错误。

错误处理

状态码含义
400缺少Google Ads连接
401Maton API密钥无效或缺失
429请求频率受限(每个账户10次/秒)
4xx/5xx来自Google Ads API的透传错误

故障排除:API密钥问题

  1. 检查是否已设置MATON_API_KEY环境变量:
echo $MATON_API_KEY
  1. 通过列出连接来验证API密钥是否有效:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

故障排除:无效应用名称

  1. 确保您的URL路径以google-ads开头。例如:
  • 正确示例:https://gateway.maton.ai/google-ads/v23/customers:listAccessibleCustomers
  • 错误示例:https://gateway.maton.ai/v23/customers:listAccessibleCustomers

资源

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Codex Quota 下一篇:Demo Video Creator

相关文章

您是本站第289853名访客 今日有232篇新文章/评论