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

使用Shopify GraphQL 2020-10端点cartCreate时提示Mutation不存在该字段如何解决

报错原因
  • 接口版本适配问题:cartCreate 虽然计划在2020-10版本加入Storefront API,但该版本中此接口属于预览阶段的不稳定功能,默认不对外开放调用,直到2021-01及之后的API版本才被纳入正式可用范围。
  • 权限配置问题:你使用的Storefront Access Token没有开通购物车相关的读写权限,Shopify后台分配Storefront API权限时需要单独勾选购物车操作权限才允许调用cart系列接口。
  • 版本号拼写错误:检查请求地址中的版本号是否和预期一致,排除拼写错误导致实际请求了更低版本的API。
解决方案
  1. 【推荐】升级API版本到2021-01及以上的稳定版本,直接将请求地址中的2020-10替换为更高的稳定版本号即可,例如2024-01,高版本的cart接口功能更完善,没有预览版的使用限制。
  2. 如果必须使用2020-10版本,需要将请求地址中的版本号替换为unstable,即可调用该版本下的预览功能,注意不稳定版本的接口可能存在变动,不推荐在生产环境使用。
  3. 校验API权限配置:进入Shopify店铺后台的「应用」-「开发应用」,找到对应应用的「Storefront API集成」配置页,确认勾选了购物车读写相关的权限,保存后重新生成AccessToken替换现有环境变量值。
  4. 可以先在本地用Shopify GraphiQL工具测试接口可用性,输入店铺域名和AccessToken后运行你的mutation语句,确认返回正常后再同步到业务代码中。
修复后示例代码
import Cookies from "js-cookie";
import { GraphQLClient, gql } from "graphql-request";

async function shopifyRequest() {
  const graphQLClient = new GraphQLClient(
    // 替换为2021-01及以上的稳定版本号
    "https://jamiegalbreath.myshopify.com/api/2024-01/graphql.json",
    {
      headers: {
        "Content-Type": "application/json",
        "X-Shopify-Storefront-Access-Token":
          process.env.REACT_APP_SHOPIFY_STOREFRONT_ACCESS_TOKEN,
      },
    }
  );


  const mutation = gql`
    mutation {
      cartCreate {
        cart {
          id
        }
        userErrors {
          code
          field
          message
        }
      }
    }
  `;

  const variables = {};

  const data = await graphQLClient.request(mutation, variables);
  return data
}

export async function test() {
  await shopifyRequest()
    .then((res) => {
      console.log("生成的购物车ID:", res.cartCreate.cart.id);
      console.log("DONE");
    })
    .catch((error) => console.error(error));
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:00:00