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 域
处理步骤#
- 先 POST 到
/admin/oauth/access_token,用返回的 access_token 字段做请求头 - 用
curl -i打印响应,确认头名是X-Shopify-Access-Token且无多余空格 - 检查请求域名以
.myshopify.com结尾,不要用绑定主域名 - 记录响应里的
expires_in,在到期前 5 分钟刷新并替换缓存 - 若刚重装过应用,先清掉库里的旧 token 再完整走一次授权
验收标准#
同一个 token 连续调用 shop { name, myshopifyDomain } 均返回 200,myshopifyDomain 与请求域名一致;跨过 24 小时续期后仍为 200。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。