为了账号安全,请及时绑定邮箱和手机立即绑定

如何将访问令牌和商店名称传递给Shopify API节点新对象

如何将访问令牌和商店名称传递给Shopify API节点新对象

精慕HU 2021-05-04 13:20:07
我正在构建一个公共shopify应用程序,我想添加一个允许创建元字段的POST路由。在shopify-api-node 模块中说明以下内容:accessToken-公共应用程序必需-表示永久性OAuth 2.0访问令牌的字符串。此选项与apiKey和password选项互斥。如果您正在寻找一种预制的解决方案来获取访问令牌,请查看shopify-token模块。”这是需要shopName和的对象accessTokenconst shopify = new Shopify({                shopName: 'your-shop-name',                accessToken: 'your-oauth-token'             });在Shopify Node / Express文档中,您添加了/shopify/callback路由q,其中包括Oauth:// Shopify Callback Route //        app.get('/shopify/callback', (req, res) => {            const { shop, hmac, code, state } = req.query;            /// ... skipping over code ... ///            request.post(accessTokenRequestUrl, { json: accessTokenPayload })                .then((accessTokenResponse) => {                    const accessToken = accessTokenResponse.access_token;                    // DONE: Use access token to make API call to 'shop' endpoint                    const shopRequestUrl = 'https://' + shop + '/admin/api/2019-04/shop.json';                    const shopRequestHeaders = {                        'X-Shopify-Access-Token': accessToken,                    };                });             /// ... skipping over code ... ///        });shopify-token module可以使用/shopify/callback以下方式(请参见下文)从路由中访问/访问该信息,而不是使用?还是有更好的方法来做到这一点/您可以提供示例吗?Server.js// Declare new global variables //var accessTokenExport;var shopExport;// New Function // function exportTokens(accessToken) {                accessTokenExport = accessToken;                shopExport = shop;            }// Shopify Callback Route //        app.get('/shopify/callback', (req, res) => {        // Export variables to New Function        exportTokens(shop, accessToken);         });// New POST route // app.post("/api/createMetafield", function (req, res) {                const shopify = new Shopify({                    shopName: shopExport,                    accessToken: accessTokenExport                });
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

这不是使用商店访问令牌的正确方法

因为shopify/callback只有在商店管理员安装您的应用程序时url才会调用一次,但是在大多数情况下访问令牌很有用

要为您的系统使用商店访问令牌,您可以执行以下操作

shopify/callback 当商店管理员安装您的应用程序时,您可以将该访问令牌存储在数据库中,并且仅需要从数据库中获取该访问令牌,并且该访问令牌在生命周期内可访问,直到商店管理员未卸载您的应用程序时,API调用


查看完整回答
反对 回复 2021-05-27
  • 1 回答
  • 0 关注
  • 266 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信