Shopify公共App自定义API调用问题:Postman报错及授权咨询
Shopify公共App自定义API问题解答
一、Postman调用API时传入Shop名称的方法
- 基于Shopify Node.js模板的自定义API,通常有两种传shop名称的方式:
- 请求头:添加
X-Shopify-Shop-Domain请求头,值填完整的店铺域名(比如your-store.myshopify.com) - URL参数:在API地址后拼接
?shop=your-store.myshopify.com
- 请求头:添加
二、获取Shop名称和Access Token的途径
本地开发调试阶段
- 完成OAuth授权后:
- Shop名称可以从授权回调的请求参数里直接获取,或者查看浏览器Session Storage里的会话数据
- 会话令牌(accessToken)可以在浏览器开发者工具的「Application → Cookies」里找到
shopify_app_session,解析这个Cookie就能拿到包含token和shop的完整会话信息 - 也可以在模板的
app/routes/auth相关文件中,临时添加日志代码打印授权后的会话内容,直接查看所需信息
生产环境
- 商家安装App并完成授权后,Shopify会把shop和accessToken通过回调返回给你的App,模板默认会把这些数据存在数据库(Prisma)的
Session表中:- 从数据库的
Session表查询对应商家的记录,即可获取shop域名和accessToken - 调用Shopify官方API时,模板的
shopify.api.rest方法会自动从会话中读取token和shop,无需手动传入
- 从数据库的
三、公共App的API能否用于第三方软件集成
完全可以,但要注意几个关键事项:
- 做好权限校验:自定义API必须验证请求中的shop和token合法性,比如通过Shopify的会话验证中间件,防止未授权访问
- 依赖商家授权:第三方软件集成前,必须让商家先安装你的公共App并完成OAuth授权,这样你才能拿到该商家的有效shop和token
- 提供清晰的API文档:给第三方说明调用接口时如何传入shop和token,以及接口的参数、返回格式等规则
- 遵守Shopify政策:确保集成行为符合Shopify App Store的条款,比如不滥用商家数据、不绕过Shopify的授权流程
内容的提问来源于stack exchange,提问作者Mohammad Faateh
相关产品推荐
相关产品推荐

