Javascript Oauth错误无效的_请求:找不到具有API_密钥[React,Node]的Shopify API应用程序

Javascript Oauth错误无效的_请求:找不到具有API_密钥[React,Node]的Shopify API应用程序,javascript,node.js,reactjs,next.js,shopify,Javascript,Node.js,Reactjs,Next.js,Shopify,我在让我的商店安装我制作的应用程序时遇到问题。对shopify来说是相当新的,但我还是按照教程去了T形台。也许我遗漏了什么?我遵循这个教程 我看了其他的答案,其中大部分都提到了环境值,但我三次检查它是否正确。任何建议都将不胜感激 server.js require(“同构提取”); const dotenv=require(“dotenv”); const膝关节炎=要求(“膝关节炎”); const next=要求(“下一步”); const{default:createShopifyAuth}

我在让我的商店安装我制作的应用程序时遇到问题。对shopify来说是相当新的,但我还是按照教程去了T形台。也许我遗漏了什么?我遵循这个教程

我看了其他的答案,其中大部分都提到了环境值,但我三次检查它是否正确。任何建议都将不胜感激

server.js

require(“同构提取”);
const dotenv=require(“dotenv”);
const膝关节炎=要求(“膝关节炎”);
const next=要求(“下一步”);
const{default:createShopifyAuth}=require(@shopify/koa shopify-auth”);
const{verifyRequest}=require(@shopify/koa shopify auth”);
const{default:Shopify,ApiVersion}=require(@Shopify/Shopify-api”);
常数路由器=需要(“koa路由器”);
dotenv.config();
Shopify.Context.initialize({
API_密钥:process.env.SHOPIFY_API_密钥,
API_SECRET_KEY:process.env.SHOPIFY_API_SECRET,
作用域:process.env.SHOPIFY\u API\u SCOPES.split(“,”),
主机名:process.env.SHOPIFY\u APP\u URL.replace(/https:\/\/,“”),
API_版本:ApiVersion.10月20日,
是嵌入式应用程序吗,
会话存储:新建Shopify.SESSION.MemorySessionStorage(),
});
const port=parseInt(process.env.port,10)| 3000;
const dev=process.env.NODE_env!==“生产”;
const app=next({dev:dev});
const handle=app.getRequestHandler();
const ACTIVE_SHOPIFY_SHOPS={};
app.prepare()然后(()=>{
const server=new Koa();
const router=新路由器();
server.keys=[Shopify.Context.API_SECRET_KEY];
server.use(
createShopifyAuth({
afterAuth(ctx){
const{shop,scope}=ctx.state.shopify;
活动店铺[店铺]=范围;
重定向(`/?shop=${shop}`);
},
})
);
常量handleRequest=async(ctx)=>{
等待句柄(ctx.req、ctx.res);
ctx.respond=false;
ctx.res.statusCode=200;
};
路由器.get(“/”,异步(ctx)=>{
const shop=ctx.query.shop;
if(活动店铺[店铺]==未定义){
console.log(“hit”,shop);//shop显示为未定义
重定向(`/auth?shop=${shop}`);
}否则{
等待处理请求(ctx);
}
});
get((/\u next/static/*),handleRequest);
路由器.get(“/\u next/webpack hmr”,HandlerRequest);
get((*),verifyRequest(),handleRequest);
使用(router.allowedMethods());
server.use(router.routes());
服务器。侦听(端口,()=>{
console.log(`>已准备就绪http://localhost:${port}`);
});
});
环境署署长

package.json

{
“名称”:“shopify捐赠小部件”,
“版本”:“1.0.0”,
“说明”:“捐赠小部件”,
“main”:“index.js”,
“脚本”:{
“测试”:“echo\”错误:未指定测试\“&退出1”,
“dev”:“node server.js”,
“构建”:“下一个构建”,
“开始”:“NODE_ENV=production NODE server.js”
},
“存储库”:{
“类型”:“git”,
“url”:“git”+https://github.com/pierregober/shopify-donation-widget.git"
},
“关键词”:[],
“作者”:“作者”,
“许可证”:“ISC”,
“臭虫”:{
“url”:”https://github.com/pierregober/shopify-donation-widget/issues"
},
“主页”:https://github.com/pierregober/shopify-donation-widget#readme",
“依赖项”:{
“@shopify/koa shopify auth”:“^3.2.0”,
“@shopify/polaris”:“^6.0.1”,
“@shopify/shopify api”:“^1.3.0”,
“@zeit/next css”:“^1.0.1”,
“dotenv”:“^8.6.0”,
“同构提取”:“^3.0.0”,
“koa”:“^2.13.1”,
“koa路由器”:“^8.0.8”,
“koa会话”:“^6.1.0”,
“下一步”:“^10.2.0”,
“反应”:“^17.0.1”,
“react dom”:“^17.0.1”,
“shopify api节点”:“^3.6.12”,
“网页包”:“^5.21.1”
}
}
缺少值的屏幕截图:

SHOPIFY_API_KEY=mykey
SHOPIFY_API_SECRET=mysecret
SHOPIFY_API_SCOPES=read_products
SHOPIFY_APP_URL=https://9d36759f4f0e.ngrok.io