使用Google Play Developer Python API上传APK至生产轨道但不发布的咨询
实现上传APK至生产轨道但不发布的解决方案
我刚好处理过类似的需求,核心其实就是在调用tracks().update()接口时,调整发布状态的参数,让APK进入生产轨道的草稿状态而非直接发布。下面给你详细的实现步骤和代码示例:
关键修改点
你之前的上传流程(创建编辑会话→上传APK/映射文件/更新日志→分配轨道→提交编辑)整体不需要大改,只需要在分配生产轨道这一步,修改请求体里的发布状态配置。
具体代码调整
在调用tracks().update()时,将release的status字段设置为"draft",而不是默认的"completed"(直接发布)。示例代码如下:
# 替换成你的包名、编辑会话ID、APK版本号 PACKAGE_NAME = "com.your.app.package" EDIT_ID = "your_edit_session_id" APK_VERSION_CODE = 123 # 你上传的APK对应的版本号 # 调用tracks.update接口,设置为草稿状态 track_update_response = service.edits().tracks().update( packageName=PACKAGE_NAME, editId=EDIT_ID, track="production", body={ "releases": [ { "versionCodes": [str(APK_VERSION_CODE)], "status": "draft", # 核心:设置为草稿,不自动发布 "releaseNotes": [ { "language": "zh-CN", "text": "你的版本更新说明内容" } ] # 其他可选参数(如rolloutPercentage等)可按需添加 } ] } ).execute()
后续说明
- 提交编辑会话后,你上传的APK会出现在Google Play Console的生产轨道→草稿区域,不会自动向用户推送
- 之后如果要发布,你可以手动在控制台操作,或者再次调用
tracks().update()接口,将status改为"completed"即可触发发布 - 注意:如果生产轨道已有活跃的正式版本,这个草稿会作为“下一个版本”存在,不会影响当前正在发布的版本
额外注意事项
- 确保你的API服务账号拥有Google Play Console的发布者权限,否则无法创建草稿发布
- 所有上传步骤完成后,必须调用
edits().commit()提交编辑会话,草稿才会生效
内容的提问来源于stack exchange,提问作者P.Melch




