关于 gplay-user-management
通过 gplay CLI 管理 Google Play Console 的团队用户及其权限,区分开发者账号级用户与单个应用的授权。适合负责访问控制的团队,并支持按最小权限原则分配权限。
主要功能
- 01列出和管理账号级用户
- 02为单个应用配置授权
- 03通过 JSON 设置权限
- 04使用更新掩码限定变更
- 05删除用户以撤销访问
适用场景
- 01为团队成员开通指定应用权限
- 02配置只读或发布管理权限
- 03审计开发者账号用户
- 04成员离职时撤销全部访问
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tamtom/ gplay-cli-skills --skill gplay-user-management安装后在 Claude Code 中输入/gplay-user-management确认已加载。
详细介绍
用户与授权管理
在 Google Play Console 中管理团队成员及其权限。分为两个层级:
- 用户(
gplay users)——整个账号的成员。此处的权限(*_GLOBAL、CAN_SEE_ALL_APPS)适用于整个开发者账号。 - 授权(
gplay grants)——用户对单个应用的访问权限。此处的权限仅适用于一个软件包。
使用 用户 将他人添加到账号(可选授予账号级权限)。使用 授权,在不授予账号级访问权限的情况下,让现有用户访问特定应用。遵循最小权限原则:优先使用按应用授权,而非全局权限。
前提条件
- 已设置凭据(
gplay auth login或GPLAY_SERVICE_ACCOUNT)。 - 服务账号需要具备管理用户的权限(
CAN_MANAGE_PERMISSIONS_GLOBAL)。 - 每条命令都需要 开发者 ID。使用
--developer传入。可在 Play Console 的 URL 中找到(play.google.com/console/u/0/developers/<DEVELOPER_ID>/...)。
关键概念
- 参数是
--developer(开发者 ID),不是--developer-id。 - 没有
--role或--permissions参数。权限通过--json以 JSON 请求体的形式提供。 --json接受内联 JSON 字符串 或@path/to/file.json。- 用户 JSON 键:
developerAccountPermissions(账号级)。授权 JSON 键:appLevelPermissions(按应用)。 delete需要--confirm——这是一个防误操作保护措施,删除不可撤销。
用户(账号级)
# List users
gplay users list --developer DEVELOPER_ID
gplay users list --developer DEVELOPER_ID --paginate --page-size 50
gplay users list --developer DEVELOPER_ID --output table
# Create a user (inline JSON)
gplay users create \
--developer DEVELOPER_ID \
--email [email protected] \
--json '{"developerAccountPermissions":["CAN_SEE_ALL_APPS"]}'
# Create with an expiration and JSON from a file
gplay users create \
--developer DEVELOPER_ID \
--email [email protected] \
--json @perms.json
# Update a user's account-wide permissions
gplay users update \
--developer DEVELOPER_ID \
--email [email protected] \
--json '{"developerAccountPermissions":["CAN_SEE_ALL_APPS","CAN_VIEW_FINANCIAL_DATA_GLOBAL"]}'
# Delete a user (requires --confirm)
gplay users delete \
--developer DEVELOPER_ID \
--email [email protected] \
--confirm
用户 JSON 请求体(expirationTime 为可选项,采用 RFC 3339 格式):
{
"developerAccountPermissions": [
"CAN_SEE_ALL_APPS",
"CAN_VIEW_FINANCIAL_DATA_GLOBAL"
],
"expirationTime": "2025-12-31T23:59:59Z"
}
update 也接受 --update-mask(以逗号分隔的字段),用于仅更新特定字段;如果省略,则应用请求体中的所有字段。
账号级权限(用户)
CAN_SEE_ALL_APPS、CAN_VIEW_FINANCIAL_DATA_GLOBAL、CAN_MANAGE_PERMISSIONS_GLOBAL、
CAN_EDIT_GAMES_GLOBAL、CAN_PUBLISH_GAMES_GLOBAL、CAN_REPLY_TO_REVIEWS_GLOBAL、
CAN_MANAGE_PUBLIC_APKS_GLOBAL、CAN_MANAGE_TRACK_APKS_GLOBAL、CAN_MANAGE_TRACK_USERS_GLOBAL、
CAN_MANAGE_PUBLIC_LISTING_GLOBAL、CAN_MANAGE_DRAFT_APPS_GLOBAL、
CAN_CREATE_MANAGED_PLAY_APPS_GLOBAL、CAN_CHANGE_MANAGED_PLAY_SETTING_GLOBAL、
CAN_MANAGE_ORDERS_GLOBAL
授权(按应用)
# Grant a user access to one app
gplay grants create \
--developer DEVELOPER_ID \
--email [email protected] \
--package com.example.app \
--json '{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_APKS"]}'
# Update an app grant
gplay grants update \
--developer DEVELOPER_ID \
--email [email protected] \
--package com.example.app \
--json '{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_LISTING"]}'
# Revoke an app grant (requires --confirm)
gplay grants delete \
--developer DEVELOPER_ID \
--email [email protected] \
--package com.example.app \
--confirm
授权 JSON 请求体:
{
"appLevelPermissions": [
"CAN_ACCESS_APP",
"CAN_MANAGE_PUBLIC_APKS"
]
}
update 也接受 --update-mask。
应用级权限(授权)
CAN_ACCESS_APP(基本访问权限)、CAN_VIEW_FINANCIAL_DATA、CAN_MANAGE_PERMISSIONS、
CAN_REPLY_TO_REVIEWS、CAN_MANAGE_PUBLIC_APKS(正式版发布)、
CAN_MANAGE_TRACK_APKS(测试轨道)、CAN_MANAGE_TRACK_USERS(测试人员)、
CAN_MANAGE_PUBLIC_LISTING、CAN_MANAGE_DRAFT_APPS、CAN_MANAGE_ORDERS
权限配置示例
使用上述常量构建 JSON 请求体。任何应用授权都必须包含 CAN_ACCESS_APP。
只读查看者(按应用):
{"appLevelPermissions":["CAN_ACCESS_APP"]}
发布管理者(按应用):
{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_APKS","CAN_MANAGE_TRACK_APKS","CAN_MANAGE_TRACK_USERS","CAN_MANAGE_DRAFT_APPS"]}
财务(按应用):
{"appLevelPermissions":["CAN_ACCESS_APP","CAN_VIEW_FINANCIAL_DATA","CAN_MANAGE_ORDERS"]}
账号级财务权限(用户):
{"developerAccountPermissions":["CAN_SEE_ALL_APPS","CAN_VIEW_FINANCIAL_DATA_GLOBAL"]}
工作流
为成员开通特定应用的访问权限——创建用户时仅授予最少的账号级权限(也可以不授予),然后添加按应用授权:
gplay users create --developer DEVELOPER_ID --email [email protected] \
--json '{"developerAccountPermissions":[]}'
gplay grants create --developer DEVELOPER_ID --email [email protected] \
--package com.example.app --json '{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_APKS"]}'
移除成员——删除用户,一次性撤销其所有访问权限:
gplay users delete --developer DEVELOPER_ID --email [email protected] --confirm
审计——以表格形式列出所有人:
gplay users list --developer DEVELOPER_ID --paginate --output table