改了 scopes 后店铺权限不更新怎么办
现象#
在 toml 里补了 write_discounts 并部署,调用折扣接口仍返回 Access denied for discountCodeBasicCreate field,店铺也没弹重新授权。
原因#
- 已安装店铺的 access token 仍带旧 scope 集合,改配置不会自动换 token
- Shopify managed install 需要商家重新走一次授权确认才发放新权限
- session 表按 shop 缓存 token,key 没变就一直复用旧记录
- 没有订阅
app/scopes_update,服务端无法感知权限变化
处理步骤#
- 在
scopes里追加write_discounts,保留原有权限 - 执行
shopify app deploy发布配置,在 Installs 页确认 scope 已更新 - 删除该店铺的 session 记录,强制下次请求重新授权
- 从后台侧栏重新打开应用,在授权页面勾选新权限并同意
- 用
accessScopes查询实际授予的 scope 列表
验收标准#
返回的 scope 列表包含 write_discounts,再调折扣 mutation 时不再报 Access denied。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。