Shopify应用OAuth报错:找不到对应API密钥的应用咨询
这个错误本质是Shopify服务器找不到你传入的api_key对应的应用,我结合你的代码梳理几个最常见的排查方向:
先确认你的API Key(client_id)没搞错
别笑,很多人会把Shopify应用的Secret Key当成API Key传进去!去你Shopify后台的应用详情页,复制API key那栏的内容,和代码里的$api_key变量完全比对,确保没有多空格、少字符或者大小写错误——Shopify对这个字符串是严格匹配的。检查商店域名的格式
你的请求URL是https://{$store}/admin/oauth/access_token,这里的$store必须是完整的Shopify域名,比如your-shop.myshopify.com,不能只写your-shop或者自定义域名(比如your-shop.com)。如果域名不对,Shopify找不到对应商店关联的应用,也会报这个错。确认应用的状态没问题
如果你用的是私有应用,必须是在当前这个商店后台创建的;如果是公共应用,要确保已经成功安装到这个商店里,而且应用没有被删除或禁用。要是应用已经被删了,Shopify自然找不到对应的api_key了。验证临时授权码(code)的有效性
那个code只能用一次,而且有效期只有5分钟左右。如果这个code已经被用过或者过期了,也可能触发这个(有点误导性的)错误。你可以重新走一遍授权流程,拿新的code再试一次。核对请求参数的细节
看你的代码,参数名client_id、client_secret、code都是对的,POST方法也没错,但要确保$query['code']确实是从授权回调里拿到的正确值——比如有没有在回调里不小心修改过这个参数,或者URL解析的时候丢了值?
可以加个小调试技巧,临时在代码里打印关键信息快速排查:
// 调试用,上线记得删掉 echo "请求URL: https://{$store}/admin/oauth/access_token\n"; echo "Client ID: {$api_key}\n"; echo "使用的Code: {$query['code']}\n";
内容的提问来源于stack exchange,提问作者Shamon S

