gpt4 book ai didi

GraphQL 产品查询访问被拒绝

转载 作者:行者123 更新时间:2023-12-02 18:45:04 25 4
gpt4 key购买 nike

我对一个 GraphQL 查询有点困惑。

{
collectionByHandle(handle:"price") {
products(first: 16, sortKey:PRICE, query:"title:Bracelet"){
edges {
cursor
node {
title
}
}
}
}
}

该错误来自 query 参数,自定义集合不支持该参数,但智能集合支持该参数。

query: String

This field is only used when the collection is smart. If the collection is custom it returns an error. Supported filter parameters:

  • title
  • product_type
  • vendor
  • gift_card
  • created_at
  • updated_at

因此,当我使用自定义集合时,我得到了预期的错误结果:

{
"data": {
"collectionByHandle": null
},
"errors": [
{
"message": "Cannot filter by query if the collection is a custom collection.",
"locations": [
{
"line": 3,
"column": 5
}
],
"path": [
"collectionByHandle",
"products"
]
}
]
}

但是当我使用智能集合时,我收到访问被拒绝

{
"data": {
"collectionByHandle": null
},
"errors": [
{
"message": "access denied",
"locations": [
{
"line": 3,
"column": 5
}
],
"path": [
"collectionByHandle",
"products"
]
}
]
}

前端的错误信息是这样的:

"Field 'products' doesn't accept argument 'query'"

因此,如果指定查询参数仅适用于智能集合并且集合确实设置为智能集合,那么我看不出此请求无法正常工作的任何原因。

至于为什么我将 collectionByHandleproducts 一起使用,我需要按价格对产品进行排序,如果我不这样做,产品就不允许按价格排序将它们包含在集合中。

这也是该问题的视频演示:https://streamable.com/sevtf

任何对问题的见解都将不胜感激。

最佳答案

如果您要查询 queryroot 下的 products 连接,则可以使用 query 参数:

{
products(first: 16, sortKey:PRICE, query:"title:Bracelet"){
edges {
cursor
node {
title
}
}
}
}

但是,如果您位于 Collection 中(如上面代码中的情况),则 products 连接只有 6 个支持的参数:afterbeforefirstlastreversesortKey 但不是 查询

Shopify help page提供了更多相关信息。

关于GraphQL 产品查询访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55469347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com