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

Shopify GraphQL报Parse error on ":" (COLON)错误的PHP对接问题求解

错误原因

你收到的Parse error on ":" (COLON) at [2, 35]错误是因为Shopify GraphQL要求传入的商品变体ID为字符串类型,你的代码在拼接查询语句时没有给ID值加双引号,导致GraphQL解析器无法识别语法。同时直接拼接查询变量的写法存在GraphQL注入风险,不推荐使用。

修复方案

方案1:快速修复(仅适配当前写法)

给拼接的$variantId外层包裹双引号即可,修改业务代码中的query构造部分:

// 修改前
$query = array("query" => '{
    productVariant(id: '. ($variantId) .') {
        availableForSale
    }
}');

// 修改后
$query = array("query" => '{
    productVariant(id: "'. $variantId .'") {
        availableForSale
    }
}');

方案2:规范写法(推荐,安全无注入风险)

遵循GraphQL官方规范,将查询语句和变量分离传递:

$query = array(
    "query" => 'query getProductVariant($id: ID!) {
        productVariant(id: $id) {
            availableForSale
        }
    }',
    "variables" => [
        "id" => $variantId
    ]
);

额外优化建议

你的shopify_gql_call函数中存在一行多余的空请求头设置,可能会导致接口请求异常,建议删除该行:

// 删除下面这行多余的空请求头
$request_headers[] = "";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:15:09