Google Play
2026-03-25
新闻来源:网淘吧
围观:63
电脑广告
手机广告
Google Play
通过托管的 OAuth 认证访问 Google Play Developer API(Android Publisher)。管理应用列表、订阅、应用内购买、评论等。
快速开始
# 列出应用内商品
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/google-play/androidpublisher/v3/applications/{packageName}/inappproducts')
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-play/{原生API路径}
将{原生API路径}替换为实际的 Android Publisher API 端点路径。网关将请求代理到androidpublisher.googleapis.com并自动注入您的 OAuth 令牌。
认证
所有请求都要求在 Authorization 请求头中包含 Maton API 密钥:
Authorization: Bearer $MATON_API_KEY
环境变量:将您的 API 密钥设置为MATON_API_KEY:
export MATON_API_KEY="您的API密钥"
获取您的API密钥
- 登录或创建一个账户,访问maton.ai
- 前往maton.ai/settings
- 复制您的API密钥
连接管理
管理您的Google OAuth连接,请访问https://ctrl.maton.ai。
列出连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=google-play&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-play'}).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-play",
"metadata": {}
}
}
打开返回的url在浏览器中完成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 Play连接,请使用Maton-Connection请求头来指定要使用哪个连接:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/google-play/androidpublisher/v3/applications/{packageName}/inappproducts')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
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-play/androidpublisher/v3/applications/{packageName}/inappproducts
获取应用内商品
GET /google-play/androidpublisher/v3/applications/{packageName}/inappproducts/{sku}
创建应用内商品
POST /google-play/androidpublisher/v3/applications/{packageName}/inappproducts
Content-Type: application/json
{
"packageName": "com.example.app",
"sku": "premium_upgrade",
"status": "active",
"purchaseType": "managedUser",
"defaultPrice": {
"priceMicros": "990000",
"currency": "USD"
},
"listings": {
"en-US": {
"title": "Premium Upgrade",
"description": "Unlock all premium features"
}
}
}
更新应用内商品
PUT /google-play/androidpublisher/v3/applications/{packageName}/inappproducts/{sku}
Content-Type: application/json
{
"packageName": "com.example.app",
"sku": "premium_upgrade",
"status": "active",
"purchaseType": "managedUser",
"defaultPrice": {
"priceMicros": "1990000",
"currency": "USD"
}
}
删除应用内商品
DELETE /google-play/androidpublisher/v3/applications/{packageName}/inappproducts/{sku}
订阅
列出订阅
GET /google-play/androidpublisher/v3/applications/{packageName}/subscriptions
获取订阅
GET /google-play/androidpublisher/v3/applications/{packageName}/subscriptions/{productId}
创建订阅
POST /google-play/androidpublisher/v3/applications/{packageName}/subscriptions
Content-Type: application/json
{
"productId": "monthly_premium",
"basePlans": [
{
"basePlanId": "p1m",
"autoRenewingBasePlanType": {
"billingPeriodDuration": "P1M"
}
}
],
"listings": [
{
"languageCode": "en-US",
"title": "Premium Monthly"
}
]
}
购买
获取购买信息(一次性产品)
GET /google-play/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}
确认购买
POST /google-play/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:acknowledge
Content-Type: application/json
{
"developerPayload": "optional payload"
}
获取订阅购买信息
GET /google-play/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}
取消订阅
POST /google-play/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel
退款订阅
POST /google-play/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund
评价
列出评论
GET /google-play/androidpublisher/v3/applications/{packageName}/reviews
获取单个评论
GET /google-play/androidpublisher/v3/applications/{packageName}/reviews/{reviewId}
回复评论
POST /google-play/androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply
Content-Type: application/json
{
"replyText": "感谢您的反馈!"
}
编辑(应用更新)
创建编辑
POST /google-play/androidpublisher/v3/applications/{packageName}/edits
获取编辑
GET /google-play/androidpublisher/v3/applications/{packageName}/edits/{editId}
提交编辑
POST /google-play/androidpublisher/v3/applications/{packageName}/edits/{editId}:commit
删除编辑
DELETE /google-play/androidpublisher/v3/applications/{packageName}/edits/{editId}
代码示例
JavaScript
// 列出应用内商品
const packageName = 'com.example.app';
const response = await fetch(
`https://gateway.maton.ai/google-play/androidpublisher/v3/applications/${packageName}/inappproducts`,
{
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
}
);
const products = await response.json();
console.log(products);
Python
import os
import requests
headers = {'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}
package_name = 'com.example.app'
# 列出应用内商品
response = requests.get(
f'https://gateway.maton.ai/google-play/androidpublisher/v3/applications/{package_name}/inappproducts',
headers=headers
)
products = response.json()
print(products)
备注
- 替换
{packageName}为你的应用包名(例如:com.example.app) - Google Play开发者API要求应用已在Google Play上架
- 订阅管理要求应用已配置有效的订阅项目
- 编辑操作具有事务性——需先创建编辑会话,进行修改,然后提交
- 重要提示:使用curl命令时,若URL包含方括号(
fields[]、sort[]、records[]),请使用curl -g以禁用通配符解析 - 重要提示:当通过管道将curl输出传递给
jq或其他命令中,环境变量如$MATON_API_KEY在某些shell环境中可能无法正确展开。通过管道传递时,您可能会遇到"无效API密钥"的错误。
错误处理
| 状态码 | 含义 |
|---|---|
| 400 | 缺少Google Play连接 |
| 401 | Maton API密钥无效或缺失 |
| 404 | 未找到软件包或无权访问 |
| 429 | 请求频率受限(每个账户每秒10次请求) |
| 4xx/5xx | 来自Google Play API的透传错误 |
故障排除:API密钥问题
- 请检查
MATON_API_KEY环境变量是否已设置:
echo $MATON_API_KEY
- 通过列出连接来验证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
故障排除:应用名称无效
- 请确保您的URL路径以
google-play开头。例如:
- 正确示例:
https://gateway.maton.ai/google-play/androidpublisher/v3/applications/{packageName}/inappproducts - 错误示例:
https://gateway.maton.ai/androidpublisher/v3/applications/{packageName}/inappproducts
资源
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Security Auditor
下一篇:Opencode-controller


微信扫一扫,打赏作者吧~