我正在使用Node.js构建我的第一个Shopify应用程序,一旦用户通过Shopify的安装门户接受了应用程序,我就不知道如何运行我的安装脚本。目前这是一款私人应用,不能利用Shopify的嵌入式app API。
授权和获取令牌没有任何问题,而且我可以很好地发出API请求。然而,我想添加元领域的产品和订单,尽快安装的应用程序。我似乎找不到任何关于这个问题的资源,或者只是对它视而不见。
有没有办法在用户接受安装后指定我自己的重定向?或者其他我看不到的变通方法?
在这个话题上,当用户卸载应用程序(这样我就可以删除应用程序所做的更改)时,相同的解决方案是否也能适用?
提前谢谢。我还应该注意到,我是一个Node.js新手。
手动调用单独的路由是可行的。但是,我希望它能自动运行。
router.get('/install', function (req, res, next) {
var shop = req.query.shop;
var appId = process.env.appId;
var appSecret = process.env.appSecret;
var appScope = process.env.appScope;
var appDomain = process.env.appDomain;
//build the url
var installUrl = `https://${shop}/admin/oauth/authorize?client_id=${appId}&scope=${appScope}&redirect_uri=https://${appDomain}/shopify/auth`;
res.redirect(installUrl);
// User is redirected to Shopify App install portal and accepts
// Run setup code here
});
我希望安装过程是无缝的,但目前需要一个额外的手动步骤来完成安装。
发布于 2019-07-22 00:21:18
向products和order添加元字段
是的,您可以通过调用metafields来添加metafield。更多信息- Link
用户接受安装后,指定自定义重定向
您已经在安装阶段通过参数redirect_uri
传递了重定向URL。这是用户在成功安装时将被重定向的URL。您需要在应用程序设置中将URL列入白名单。
当用户卸载应用程序时,删除应用程序所做的更改
如果您设置了相同的应用程序卸载通知,您将收到一个webhook通知。所以,你可以做你想要的改变。例如,删除客户数据,商家数据等。但是,如果您编辑了任何流动文件或添加了任何文件,相同的文件将不会被删除,并且您将无法访问它,因为您的访问令牌无效。不过,你要添加的任何webhook和onload脚本都会被删除。
https://stackoverflow.com/questions/57128517
复制相似问题