Graphql 查询在已安装的应用程序中有效,但在 GraphiQL 中无效

Graphql query works in installed app but not in GraphiQL

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

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

当我 运行 来自 C# 代码或 GraphiQL

的相同查询时

我收到这个错误

"Field 'inventoryItems' doesn't exist on type 'QueryRoot'"

我已经headers这样设置了。

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

Admin 和 StoreFront GraphQL 彼此非常不同。管理 GraphQL 用于您商店中的 creating/updating/deleting/outputing 项,但 StoreFront GraphQL 主要用于输出数据,因为它是 public,如果可以修改您的商店将是巨大的安全问题。

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


TL;DR inventoryItems 方法不适用于 Storefront GraphQL,您可以从 Admin GraphQL.[=13 访问它=]