Shopify 报错排障

Invalid API key or access token 排查

现象#

请求 /admin/api/2025-07/graphql.json 返回 401,body 是 Invalid API key or access token (unrecognized login or wrong password),可同一组凭据换 token 又是成功的。

原因#

  • 把 client_id 或 client_secret 直接放进 X-Shopify-Access-Token 请求头
  • 商家卸载后重装了应用,旧 token 已作废,本地缓存里还是那一个
  • client_credentials 换来的 token 只有 24 小时有效期,定时任务没做续期
  • 请求打到了绑定的自定义域名,而不是店铺的 *.myshopify.com 域

处理步骤#

  1. 先 POST 到 /admin/oauth/access_token,用返回的 access_token 字段做请求头
  2. 用 curl -i 打印响应,确认头名是 X-Shopify-Access-Token 且无多余空格
  3. 检查请求域名以 .myshopify.com 结尾,不要用绑定主域名
  4. 记录响应里的 expires_in,在到期前 5 分钟刷新并替换缓存
  5. 若刚重装过应用,先清掉库里的旧 token 再完整走一次授权

验收标准#

同一个 token 连续调用 shop { name, myshopifyDomain } 均返回 200,myshopifyDomain 与请求域名一致;跨过 24 小时续期后仍为 200。

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