You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Play Console API自动推送内部轨道草稿至内部测试人员

解决Play Console API上传后版本停留在内部测试草稿的问题

问题根源

你遇到的报错Only releases with status draft may be created on draft app.,核心原因是你的应用目前处于草稿状态——也就是还没完成Play Console要求的首次发布前置配置,这种状态下API只能创建草稿版本,无法直接推送给测试人员。

前置必做操作(仅需一次)

先在Play Console网页端完成以下操作,把应用从草稿状态"激活":

  • 填写应用所有必填的商店信息:描述、截图、应用图标、内容评级问卷、隐私政策链接等
  • 手动在内部测试轨道发布至少一个版本(哪怕是旧版本),完成这一步后应用就不再是草稿状态了

修正后的API代码步骤

完成前置操作后,修改轨道更新代码的版本状态,提交后就能直接让内部测试人员获取新版本:

1. 创建编辑

edit_request = service.edits().insert(body={}, packageName=package_name)
result = edit_request.execute()
edit_id = result['id']

2. 上传安装包

media = clienthttp.MediaFileUpload(package_path, mimetype='application/octet-stream')
uploaded_version = service.edits().bundles().upload(editId=edit_id, packageName=package_name, media_body=media).execute().upload_result['versionCode']

3. 更新内部测试轨道(核心修改)

将status从draft改为completed,这样版本提交后会直接生效:

name = f'API release for version {uploaded_version}'
track_response = service.edits().tracks().update(
    editId=edit_id,
    track='internal',
    packageName=package_name,
    body={
        'releases': [{
            'name': name,
            'status': 'completed',  # 关键修改:设置为完成状态
            'versionCodes': [str(uploaded_version)],  # 部分API版本要求版本号为字符串类型
        }]
    }).execute()

4. 提交编辑

service.edits().commit(editId=edit_id, packageName=package_name).execute()

额外说明

  • 如果内部测试轨道已有活跃版本,API会自动将新版本合并进去,测试人员打开Google Play就能收到更新提示
  • 确保你的API服务账号拥有Android Developer或Release Manager权限,避免出现权限不足的报错

内容的提问来源于stack exchange,提问作者Adrian Real

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 20:23:11