我正在构建一个公共shopify应用程序,我想添加一个允许创建元字段的POST路由。
在shopify-api-node
模块中说明以下内容:
accessToken
-公共应用程序必需-表示永久性OAuth 2.0访问令牌的字符串。此选项与apiKey和password选项互斥。如果您正在寻找一种预制的解决方案来获取访问令牌,请查看shopify-token模块。”
这是需要shopName
和的对象accessToken
const 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
});
德玛西亚99
相关分类