给定具有字符串 id 的 Storefront.Product 节点,如何获取 Admin API 的 ProductId

Max*_*lov 0 shopify shopify-app

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

"id" -> "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMDcyMDgwOTc1"
Run Code Online (Sandbox Code Playgroud)

这是节点 ID

但要获取产品元字段,我必须向 Admin API 发出请求

https://SHOP.myshopify.com/admin/products/{productId}/metafields.json
Run Code Online (Sandbox Code Playgroud)

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

6243834538
Run Code Online (Sandbox Code Playgroud)

我无法在 REST API 请求中使用节点 ID,收到 400“错误请求”。

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

谢谢!

Deb*_*ash 5

您只需对字符串 id 进行 Base64 解码即可。通过解码(base64)您在示例中给出的字符串,我发现了类似的内容。

gid://shopify/产品/10072080975

您可以修剪字符串以从末尾获取产品 id,并可以在 shopify admin api 的其余 api 中使用。