Я очень запутался в документации на Shopify. Я хотел использовать их Javascript Buy SDK. Чтобы следовать их простому примеру извлечения продукта, в документах говорится, что «Прежде чем вы сможете получить продукт или коллекцию, вам необходимо запросить идентификатор витрины. После того, как вы получили идентификатор продукта или идентификатор коллекции, вы можете получить продукт или коллекцию с помощью SDK."
Итак, используя приложение Shopify Graphiql и пример для получения идентификатора витрины, запрос выглядит следующим образом.
{
shop {
productByHandle(handle: "my-own-product-handle") {
id
}
}
}
ожидаемый идентификатор возврата чем-то похож на
"id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzczNDE0OTkzOTk="
в каком-то закодированном значении. Но, однако, идентификатор, который я получаю, похож на 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! было предоставлено недопустимое значение.
Я не могу понять, где пропущены точки.
Пожалуйста, помогите!
Спасибо.