Shopify API 节点:AdminAPI 与 StoreFrontAPI 查询
Shopify API Node: AdminAPI vs StoreFrontAPI Queries
我正在尝试向 shopify 的管理员发出 graphql 请求 api。我使用的是官方的 shopify-api-node 库。
我的查询如下
const response = await shopify.graphql({
`order(id:"gid://shopify/Order/3138432598213") {
currentCartDiscountAmountSet {
shopMoney {
amount
currencyCode
}
}
}`
});
响应是
根据我的理解,这应该 return 一个具有数据字段和扩展字段的对象(我对查询成本感兴趣)。
我得到的响应只是包含订单。
这是因为我在查询店面 API 吗?我很困惑,因为我想查询管理员 api。根据 shopify 文档,storefront API 下的订单没有字段 currentCartDiscountAmountSet,而 admin API 下的订单有此字段。我通过字段 currentCartDiscountAmountSet 获得了正确的订单,因此我假设我正在查询管理员 api。但话又说回来,我没有得到数据和扩展?
我的问题是:
使用shopify-api-node时,如何指定是查询admin还是storefrontAPI?
为什么我的回复中没有数据和扩展?真的是因为我在查询店面 api 吗?如果是,那为什么我能成功获取到currentCartDiscountAmountSet?
首先 shopify-api-node
仅支持 GraphQL Admin API,不支持 Storefront API。
其次,店面 API 无法直接访问订单对象。您可以通过店面 api 获得客户订单,但为此您需要用户名和密码来为该用户创建令牌,以便请求他的订单,或者简单地说,您不会使用 nodejs 或更准确地说,当您只能使用 Admin API 时,工作量太大了。 (API 文档在这方面确实令人困惑)
所以这回答了你的第一个问题,你不能指定你是针对店面还是管理员 api,你被这个包的管理员 api 困住了。
关于你的第二个问题,我假设你传递了错误的 ID 或其他东西。你是用 id: "gid://shopify/Order/YOUR_ORDER_ID"
正确地传递它还是只用 id: "YOUR_ORDER_ID"
传递它,因为第二个是错误的。可能还有另一个问题,但在不知道流程的完整扩展的情况下,您需要自行调试。
这是一张带有示例请求的图片,returns 您想要什么。所以请求没问题,你现在的流程还有其他问题。
我正在尝试向 shopify 的管理员发出 graphql 请求 api。我使用的是官方的 shopify-api-node 库。
我的查询如下
const response = await shopify.graphql({
`order(id:"gid://shopify/Order/3138432598213") {
currentCartDiscountAmountSet {
shopMoney {
amount
currencyCode
}
}
}`
});
响应是
根据我的理解,这应该 return 一个具有数据字段和扩展字段的对象(我对查询成本感兴趣)。
我得到的响应只是包含订单。
这是因为我在查询店面 API 吗?我很困惑,因为我想查询管理员 api。根据 shopify 文档,storefront API 下的订单没有字段 currentCartDiscountAmountSet,而 admin API 下的订单有此字段。我通过字段 currentCartDiscountAmountSet 获得了正确的订单,因此我假设我正在查询管理员 api。但话又说回来,我没有得到数据和扩展?
我的问题是:
使用shopify-api-node时,如何指定是查询admin还是storefrontAPI?
为什么我的回复中没有数据和扩展?真的是因为我在查询店面 api 吗?如果是,那为什么我能成功获取到currentCartDiscountAmountSet?
首先 shopify-api-node
仅支持 GraphQL Admin API,不支持 Storefront API。
其次,店面 API 无法直接访问订单对象。您可以通过店面 api 获得客户订单,但为此您需要用户名和密码来为该用户创建令牌,以便请求他的订单,或者简单地说,您不会使用 nodejs 或更准确地说,当您只能使用 Admin API 时,工作量太大了。 (API 文档在这方面确实令人困惑)
所以这回答了你的第一个问题,你不能指定你是针对店面还是管理员 api,你被这个包的管理员 api 困住了。
关于你的第二个问题,我假设你传递了错误的 ID 或其他东西。你是用 id: "gid://shopify/Order/YOUR_ORDER_ID"
正确地传递它还是只用 id: "YOUR_ORDER_ID"
传递它,因为第二个是错误的。可能还有另一个问题,但在不知道流程的完整扩展的情况下,您需要自行调试。
这是一张带有示例请求的图片,returns 您想要什么。所以请求没问题,你现在的流程还有其他问题。