Graphql 查询适用于已安装的应用程序,但不适用于 GraphiQL

问题描述

shopify 和 graphql 非常新 我创建了一个示例 shopify 商店并在其中安装了 shopify graphQL 应用。

当我在已安装的应用程序中运行此查询时,我会得到结果

enter image description here

当我从 C# 代码GraphiQL

运行相同的查询

我收到这个错误

enter image description here

“类型 'QueryRoot' 上不存在字段 'inventoryItems'”

我有这样设置的标题

enter image description here

解决方法

GraphiQL 应用使用 Admin GraphQL,而您正在尝试 StoreFront GraphQL。

Admin 和 StoreFront GraphQL 彼此非常不同。管理 GraphQL 用于从您的商店创建/更新/删除/输出项目,但 StoreFront GraphQL 主要用于输出数据,因为它是公开的,如果可以修改您的商店,这将是巨大的安全问题。

由于这两个 API 对不同方法具有不同的访问权限,并且有些方法仅适用于 Admin GraphQL,反之亦然,因此有些方法也仅适用于 StoreFront GraphQL。


TL;DR inventoryItems 方法不适用于 Storefront GraphQL,您可以从 Admin GraphQL 访问它。