getaddrinfo ENOTFOUND error Shopify getSubscriptionUrl Shopi



我正试图设置一个用React/Node编写的Shopify定期订阅应用程序,但当我从server.js 调用以下代码时,我收到了FetchError

错误:

FetchError: request to https://[ACCESS_TOKEN]/admin/api/2020-10/graphql.json failed, reason: getaddrinfo ENOTFOUND [ACCESS_TOKEN]
at ClientRequest.<anonymous> (/Users/cormachayden/Desktop/apps/easy-tok/node_modules/node-fetch/lib/index.js:1461:11)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:469:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21)

我的代码:

const getSubscriptionUrl = async (accessToken, shop, returnUrl = process.env.HOST) => {
const subscirptionQuery = JSON.stringify({
query: `mutation {
appSubscriptionCreate(
name: "Easy Tok Premium"
lineItems: {
plan: {
appRecurringPricingDetails: {
price: { amount: 4.0, currencyCode: USD}
}
}
}
test: true
returnUrl: "https://${shop}.myshopify.com/admin/apps/easy-tok"
) {
confirmationUrl
}
}`
});
const response = await fetch(`https://${shop}/admin/api/2020-10/graphql.json`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
"X-Shopify-Access-Token": accessToken,
},
body: subscirptionQuery
})
const responseJson = await response.json();
return responseJson.data.appSubscriptionCreate.confirmationUrl;
};
module.exports = getSubscriptionUrl;

本地和部署到Heroku 时都会发生相同的错误

shop变量返回的是AccessToken,而不是shop_name.myshopify.com。因此,您的请求变成了无效的https://ACESS_TOKEN/admin/api/2020-10/graphql.json

请仔细检查您的shop变量以及您在哪里设置该变量,并请立即生成新的访问令牌,因为您不应该免费公开提供您的访问令牌。

PS:出于安全原因,我编辑了您的问题以删除令牌!(请记住,历史仍然会保留它,所以请更改它(

最新更新