Shopify 应用与扩展

改了 scopes 后店铺权限不更新怎么办

现象#

在 toml 里补了 write_discounts 并部署,调用折扣接口仍返回 Access denied for discountCodeBasicCreate field,店铺也没弹重新授权。

原因#

  • 已安装店铺的 access token 仍带旧 scope 集合,改配置不会自动换 token
  • Shopify managed install 需要商家重新走一次授权确认才发放新权限
  • session 表按 shop 缓存 token,key 没变就一直复用旧记录
  • 没有订阅 app/scopes_update,服务端无法感知权限变化

处理步骤#

  1. 在 scopes 里追加 write_discounts,保留原有权限
  2. 执行 shopify app deploy 发布配置,在 Installs 页确认 scope 已更新
  3. 删除该店铺的 session 记录,强制下次请求重新授权
  4. 从后台侧栏重新打开应用,在授权页面勾选新权限并同意
  5. 用 accessScopes 查询实际授予的 scope 列表

验收标准#

返回的 scope 列表包含 write_discounts,再调折扣 mutation 时不再报 Access denied。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。