PuppyIP 资源中心
跨境电商开发 5 分钟 发布于 2026-11-06

Shopify 批量操作 access denied:启用步骤与 31 天失效规则

如果 Partner 创建的 Shopify app 在启动批量操作时遇到 access denied,先在 Partner Dashboard 为实际使用的类型启用访问:bulk query 和 bulk mutation 是分开的。某一类型在过去 31 天没有启动时,该类型的访问会失效;重新启用 bulk access 也不会替代普通查询所需的数据权限。

Shopify GraphQL Admin API Bulk Operations API 权限 应用开发

服务对象与地域限制

PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。

代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。

本文要点

  • Shopify 于 2026-11-06 宣布,GraphQL Admin API 的所有版本都需要先获得相应 bulk operation 访问权限;bulk query 与 bulk mutation 分别准入。
  • 受影响的是运行批量操作的 public apps 和 Partner 创建的 custom apps。商家在 Shopify admin 或 Dev Dashboard 创建的 apps 暂不受影响;已有批量操作的 app 可在 Partner Dashboard 确认状态。
  • 某个操作类型在过去 31 天没有启动时,该类型的访问会失效。只启用 app 实际运行的类型;query 和 mutation 都使用时才需要分别允许两者。
  • Partner Dashboard 的授权适用于安装了该 app 的所有商店,不要求改 app 配置、发布新版本或让商家重新安装。普通查询的数据权限仍需单独满足。

2026-11-06 起,批量操作按类型准入

Shopify 于 2026 年 11 月 6 日宣布,应用通过 GraphQL Admin API 发起 bulk query(批量查询)或 bulk mutation(批量变更)前,需要先启用相应访问。这项要求适用于所有 GraphQL Admin API 版本;升级或降级版本不能替代这一步。

两类操作各自检查对应的访问权:`bulkOperationRunQuery` 需要 bulk query access,`bulkOperationRunMutation` 需要 bulk mutation access。若 app 启动的类型尚未获准,Shopify 会返回 access denied 错误。公告没有给出更精确的生效时刻或时区,因此不能从发布日期推算某个小时的切换点。

先确认 app 类型与当前授权状态

这项变更针对运行 bulk operations 的 public apps,以及由 Partner 创建的 custom apps。商家在 Shopify admin 或 Dev Dashboard 自行创建的 app,按 Shopify 当前公告暂不需要执行这项启用步骤;不要把 Partner 创建的 custom app 与商家自行创建的 app 混为一类。

如果 app 之前已经运行过批量操作,Shopify 表示已为它启用相应访问。仍应在 Partner Dashboard 核对 app 和操作类型的当前状态。要分别看 query 与 mutation:一类已有访问,不代表另一类也自动启用。

过去 31 天未启动的类型,需要重新启用

Shopify 的 31 天规则按操作类型判断:如果 app 在过去 31 天内没有启动 bulk query 或 bulk mutation,就会失去对应类型的访问。失效范围是未启动的那一类;这条规则没有说另一种类型的访问也会同时失效。

举一个假设场景:同一个 app 每周运行 bulk query,却已超过 31 天没有启动 bulk mutation。重新准备批量变更时,应单独检查 mutation 访问;最近的查询活动不能替它保留另一种类型的访问。文档按“启动”操作描述这项规则,不要把它改写成必须在 31 天内完成整个任务。

在 Partner Dashboard 启用对应访问

第一步,在 Partner Dashboard 进入 Apps,选择实际发起请求的 app;然后在侧边栏打开 API access requests。先确认 app 身份,避免检查了另一套集成的设置。

第二步,找到 Run bulk operations。只运行批量查询时点击 Allow bulk queries;运行批量变更时点击 Allow bulk mutations;两者都使用则分别启用。页面若已显示某项启用,无需重复请求。

第三步,确认需要的类型已启用,再按应用原有的权限与业务核对流程处理任务。Shopify 表示,这项访问适用于安装了该 app 的所有商店,不要求更改 app 配置、发布新版本或让商家重新安装。

Bulk 访问不替代普通数据权限

Bulk operation 的准入与查询可读取的数据范围是两层要求。Shopify 文档明确说明,bulk query 中的查询需要与普通 query 相同的 permissions;开启 Allow bulk queries 本身不会授予查询原本没有的数据权限,也不会代替 app 所需的 API access scopes。

若仍遇到权限错误,先分别核对 app、操作类型和普通查询所需的数据授权,再保存准确时间、操作名称及脱敏错误供团队排查。不要仅凭 access denied 就批量重放变更任务,或把启用 bulk access 当作已成功处理商店数据的证明。公告没有宣布新的费用或提供地区、计划清单,不能据此承诺免费或所有账号都符合其他功能的资格。

资料来源

常见问题

能通过 Storefront API 使用这些 bulk operations 吗?

不能。Shopify 文档将这些批量操作限定在 GraphQL Admin API,不能通过 Storefront API 执行。应先确认集成使用的 API 类型。

Admin UI extension 能通过 Direct API access 直接启动批量操作吗?

Shopify 文档说明 Direct API access 不支持 bulk operations。Admin UI extension 需要连接到 app backend,由应用后端发起并管理批量操作;这仍需满足对应类型的准入和数据权限。