常见问题
认证相关
Q: 如何在 CI/CD 中使用 lark-cli?
A: 使用 --no-wait 模式获取 device_code,然后在浏览器中完成授权:
bash
DEVICE_CODE=$(lark-cli auth login --no-wait --json | jq -r '.device_code')
lark-cli auth login --device-code $DEVICE_CODE或者使用环境变量提供 Token:
bash
export LARKSUITE_CLI_USER_ACCESS_TOKEN="uat_xxx"
lark-cli calendar +agendaQ: 如何处理 Token 过期?
A: 系统会自动刷新 Token。如果刷新失败,会返回错误提示用户重新登录。
Q: 如何安全地存储 AppSecret?
A: 不要在配置文件中存储 AppSecret。使用以下方式之一:
- 环境变量:
export LARKSUITE_CLI_APP_SECRET="xxx" - 密钥管理系统:
export LARKSUITE_CLI_APP_SECRET=$(vault kv get -field=secret secret/lark-cli) - 自定义凭证提供者:实现
extension/credential.Provider接口
多应用管理
Q: 如何在多个应用间切换?
A: 使用 profile 命令:
bash
# 列出所有应用
lark-cli profile list
# 切换应用
lark-cli profile use my-app
# 查看当前应用
lark-cli profile currentQ: 如何创建新应用?
A: 使用以下命令:
bash
lark-cli profile add权限相关
Q: 如何检查当前权限?
A: 使用以下命令:
bash
lark-cli auth statusQ: 如何升级权限?
A: 使用以下命令:
bash
lark-cli auth login --scope "calendar:calendar:write"Q: 如何检查特定权限?
A: 使用以下命令:
bash
lark-cli auth check --scope "calendar:calendar:read"身份相关
Q: User 和 Bot 身份有什么区别?
A:
- User:用户身份,需要通过 Device Flow OAuth 登录,权限由用户授予
- Bot:租户身份,使用应用凭证(AppID + AppSecret),权限由应用配置
Q: 如何强制使用特定身份?
A: 使用 --as 标志:
bash
lark-cli calendar +agenda --as user # 强制用户身份
lark-cli calendar +agenda --as bot # 强制 Bot 身份
lark-cli calendar +agenda --as auto # 自动检测