【问题标题】:Shopify API Node: AdminAPI vs StoreFrontAPI QueriesShopify API 节点:AdminAPI 与 StoreFrontAPI 查询
【发布时间】:2021-04-04 04:53:09
【问题描述】:

我正在尝试向 shopify 的管理 api 发出 graphql 请求。我正在使用官方的 shopify-api-node 库。

我的查询如下

      const response = await shopify.graphql({
      `order(id:"gid://shopify/Order/3138432598213") {
        currentCartDiscountAmountSet {
          shopMoney {
            amount
            currencyCode
          }
        }
      }`
    });

反应是

据我了解,这应该返回一个带有数据字段和扩展字段的对象(我对查询成本感兴趣)。

我得到的响应只是包含订单。

这是因为我正在查询店面 API 吗?我很困惑,因为我想查询 admin api。根据 shopify 文档,storefront API 下的订单没有 currentCartDiscountAmountSet 字段,而 admin API 下的订单有此字段。我使用 currentCartDiscountAmountSet 字段获得了正确的顺序,因此我假设我正在查询管理 api。但话说回来,我没有得到数据和扩展?

我的问题是:

  1. 使用shopify-api-node时,如何指定查询admin还是storefront API?

  2. 为什么我在回复中没有收到数据和扩展信息?实际上是因为我正在查询店面api吗?如果是这样,那为什么我能够成功获得 currentCartDiscountAmountSet?

【问题讨论】:

    标签: shopify shopify-api shopify-api-node


    【解决方案1】:

    首先shopify-api-node 仅支持 GraphQL Admin API,不支持 Storefront API。

    其次,Storefront API 无法直接访问订单对象。您可以使用店面 api 获取客户订单,但为此您需要用户名和密码来为该用户创建令牌,以便请求他的订单,或者简单地说,您不会使用 nodejs 或更准确地说当您只能使用 Admin API 时,工作量太大了。 (API 文档在这方面真的很混乱)

    所以这回答了你的第一个问题,你不能指定你是针对店面还是管理 api,你被这个包的管理 api 卡住了。

    至于您的第二个问题,我假设您传递了错误的 ID 或其他内容。你是用id: "gid://shopify/Order/YOUR_ORDER_ID" 正确传递它还是用id: "YOUR_ORDER_ID" 传递它,因为第二个是错误的。可能还有另一个问题,但在不了解流程的完整范围的情况下,您需要自行调试。

    这是一个带有示例请求的图像,该请求返回您想要的内容。所以请求没问题,您当前的流程还有其他问题。

    【讨论】:

    • 感谢您的回复,非常感谢。这是我的确切查询{ order(id:"gid://shopify/Order/3138432598213") { currentCartDiscountAmountSet { shopMoney { amount currencyCode } } } },我正在使用方法 await shopify.graphql(query)。我还是没看到。
    • 我更新了问题以获得准确的查询和响应@drip
    • @Asool 如果您专门寻找查询成本,npm 包将剥离它并直接返回 data 对象。您必须使用名为shopify.on('callGraphqlLimits', (limits) => console.log(limits)); 的单独方法来获取成本。这在文档中有所描述。如果您想通过单个请求获取数据和扩展,您必须删除 npm 包并仅使用 fetchaxios 并自行处理。
    • 谢谢@drip,很有意义:)
    猜你喜欢
    • 2019-11-06
    • 2020-10-16
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 2023-02-23
    • 1970-01-01
    相关资源
    最近更新 更多