Storefront.Product 的给定节点和字符串 id,如何获取 Admin API 的 productId

Given node for Storefront.Product with string id, how to get productId for Admin API

我正在为 Android 使用 GraphQL shopify buy-sdk,并通过字符串 ID 获取产品节点,例如:

"id" -> "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMDcyMDgwOTc1"

这是节点 ID

但是要获得产品元字段,我必须向管理员提出请求 API

https://SHOP.myshopify.com/admin/products/{productId}/metafields.json

其中 {productId} 是产品的数字 ID,例如:

6243834538

我无法在 REST API 请求中使用节点 ID,得到 400 "Bad Request"。

所以问题是 - 如何在 GraphQL 中获取节点的数字产品 ID?

谢谢!

您可以简单地对字符串 ID 进行 base64 解码。通过解码(base64)你在例子中给出的字符串,我发现了这样的东西。

gid://shopify/Product/10072080975

您可以 trim 字符串从末尾获取产品 ID,并可以在 shopify 后台 api 的其余部分使用 api。