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

使用php-shopify调用Shopify GraphQL API时变量未声明错误排查求助

问题原因及解决方案

错误原因

你遇到的错误是GraphQL语法不符合规范:在使用变量$gqlGid时,没有在查询开头声明该变量的类型。Shopify的GraphQL API要求所有在查询中使用的变量必须先声明类型,否则会抛出"变量未声明"的错误。

修正后的代码

修改你的GraphQL查询语句,在query后添加变量声明,变量数组和调用逻辑保持不变:

$gqlVariables = array("gqlGid"=>'gid://shopify/OnlineStoreArticle/557585301654');

$graphQL = <<<Query
query(\$gqlGid: ID!) {
    translatableResource(resourceId: \$gqlGid) {
    resourceId
    translations(locale: "de") {
      key
      value
    }
  }
}
Query;

$data = $shopify->GraphQL->post($graphQL, null, null, $gqlVariables);

关键说明

  • query(\$gqlGid: ID!) 是变量声明部分:\$gqlGid 是变量名,ID! 表示该变量是必填的ID类型(Shopify的GID都属于ID类型)
  • 之前的查询属于"匿名查询",缺少变量声明环节,导致API无法识别你使用的变量
  • php-shopify库的调用逻辑无问题,错误根源是GraphQL查询本身的语法缺失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 01:15:52