0

我对 Shopify 上的文档感到非常困惑。我想使用他们的 Javascript Buy SDK。按照他们简单的产品获取示例,在文档中,它说“在您检索产品或集合之前,您需要查询店面 ID。在您获得产品 ID 或集合 ID 后,您可以获取使用 SDK 的产品或集合。”

因此,使用 Shopify Graphiql 应用程序并从示例中获取店面 ID,请求如下所示。

{
  shop {
    productByHandle(handle: "my-own-product-handle") {
      id
    }
  }
}

预期的返回 id 有点像 "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzczNDE0OTkzOTk="某种编码值。但是,我得到的 ID 就像一个 URL。这是我得到的回报。

{
  "data": {
    "shop": {
      "productByHandle": {
        "id": "gid://shopify/Product/1349634097238"
      }
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 2,
      "actualQueryCost": 2,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 998,
        "restoreRate": 50
      }
    }
  }
}

当我使用此 URL 执行请求时,如 JS SDK 示例所示

// Fetch a single product by ID
const productId = 'gid://shopify/Product/13496340972223';

client.product.fetch(productId).then((product) => {
  // Do something with the product
  console.log(product);
});

我在控制台中收到类型 ID 的变量 id 的错误!提供了无效值。

我无法弄清楚我在哪里错过了这些点。

请帮忙!

谢谢。

4

1 回答 1

2

认为我已经破解了它....或者至少找到了解决方法。我觉得这应该更清楚,这让我觉得我错了......无论如何,这就是我发现的。

使用 Shopify graphiQl 应用程序时,您可以要求提供 ID。(就像您在上面显示的那样)。获取结果并在此处将其编码为 base64 .. https://www.base64encode.org/

这会给你结果 - 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEzNDk2MzQwOTcyMjIz'。

将其粘贴在您的 productId 变量中,您应该会得到响应。

于 2019-05-07T13:59:38.887 回答