You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js集成Shopify模块报错:hostName缺失致API库无法初始化求助

解决Shopify Node.js集成时的hostName初始化错误

错误信息

ShopifyError: Cannot initialize Shopify API Library. Missing values for: hostName

你的配置问题分析

你当前修改的node_modules/@shopify/shopify-api/lib/config.js存在以下问题:

  • apiKey和apiSecretKey为空字符串,这两个是API库初始化的必填参数
  • hostName填写错误:你用的https://partners.shopify.com/xxxxx/stores是Shopify合作伙伴后台的页面地址,并非应用的域名

正确的hostName说明

什么是hostName

hostName是你的应用部署后的纯域名,不能带https://前缀,比如:

  • 线上部署应用:yourapp.yourdomain.com
  • 本地开发测试:用ngrok生成的临时公网域名(如abc123.ngrok.io)

如何获取

  • 线上应用:直接使用你的自定义域名
  • 本地开发:启动ngrok代理本地服务后,复制生成的公网域名
  • 同时要和Shopify合作伙伴后台应用设置里的「App URL」保持一致

报错根本原因

  1. hostName格式错误:必须是纯域名,不能包含协议前缀或后台页面地址
  2. apiKey、apiSecretKey为空:这两个参数需要从Shopify合作伙伴后台的应用详情页复制
  3. scopes为空数组:嵌入式应用需要配置具体的授权范围(如read_products、write_orders等)

修正后的配置示例

var config = {
    apiKey: '你的应用API Key', // 从合作伙伴后台应用详情获取
    apiSecretKey: '你的应用API Secret', // 从合作伙伴后台应用详情获取
    scopes: new scopes_1.AuthScopes(['read_products', 'write_orders']), // 按需添加授权范围
    hostName: 'yourapp.example.com', // 你的应用纯域名,无https://
    hostScheme: 'https',
    apiVersion: types_1.LATEST_API_VERSION,
    isEmbeddedApp: true,
    isPrivateApp: false,
    logger: {
        log: defaultLogFunction,
        level: types_1.LogSeverity.Info,
        httpRequests: false,
        timestamps: false,
    },
};

内容的提问来源于stack exchange,提问作者user21481074

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:52:43