[英]Implement a feature in my React app where the users can add my products to their Shopify store
我有一个在后端使用 React、Gatsby 和 NodeJs 构建的网站。 对于 state 管理,我使用的是 Redux。 在这个网站上,我销售产品,我正在尝试实现一个新功能,每个产品在购买按钮附近都有一个二级按钮,上面写着“添加到 Shopify”。 我可以轻松访问产品的数据,但问题是创建 function 使用该数据将所选产品添加到他们的 Shopify 商店。 这有点像直销。
它在我脑海中弹出的一个解决方案是打开一个弹出窗口或将用户重定向到他们的 Shopify 商店,在那里他们可以获得身份验证(获取商店名称和 accessToken)并使用我的产品数据向该商店发出发布请求。
这可能吗?如果可以,我该如何解决这个问题?
如果这不是正确的方法,您能提供其他解决方案吗?
是的,您已经找到了正确的方法。
为此,您需要创建一个公共 Shopify App 。 您可以根据自己的选择将应用设为列出或不列出。
一旦用户单击Add to Shopify ,启动OAuth 流程以获取访问令牌。 Once you have the Access Token, create Shopify product using REST API via Node.js Module for Shopify .
要构建重定向 URL,以便客户端可以直接安装您的应用程序,请使用类似
https://{clien-shop-name}.myshopify.com/admin/oauth/authorize?client_id={api_key}&scope={scopes}&redirect_uri={...}
Node.js 应用程序中的示例代码看起来像
const Shopify = require("shopify-api-node");
router.post("/your-end-point", async (req, res) => {
try {
const shopify = new Shopify({
shopName: "your-shop-name",
accessToken: "your-oauth-token",
});
const product = await shopify.product.create(req.body);
res.status(200).send(product);
} catch (ex) {
console.log(ex);
}
});
您想知道在哪里可以找到世界上排名第一的获奖产品吗? 在这里注册,您将了解所有获奖产品
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.