Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript shopify api节点返回私人应用程序的状态401 unauthorized_Javascript_Node.js_Promise_Shopify_Shopify App - Fatal编程技术网

Javascript shopify api节点返回私人应用程序的状态401 unauthorized

Javascript shopify api节点返回私人应用程序的状态401 unauthorized,javascript,node.js,promise,shopify,shopify-app,Javascript,Node.js,Promise,Shopify,Shopify App,我正试图利用这个名为 请注意,这是在Shopify Partners帐户中生成的一个私人应用程序。我已经按照文档说明传递了shopName、apiKey和密码 const Shopify = require('shopify-api-node'); const shopify = new Shopify({ shopName: 'your-shop-name', apiKey: 'your-api-key', password: 'your-

我正试图利用这个名为

请注意,这是在Shopify Partners帐户中生成的一个私人应用程序。我已经按照文档说明传递了
shopName
apiKey
密码

    const Shopify = require('shopify-api-node');

    const shopify = new Shopify({
      shopName: 'your-shop-name',
      apiKey: 'your-api-key',
      password: 'your-app-password'
    });
但是,当尝试执行像这样简单的操作时,请执行以下操作:

    shopify.product.get()
    .then(products =>  res.send(products))
    .catch(err => res.send(err));
我收到:

    {
        "name": "HTTPError",
        "hostname": "your-shop-name",
        "method": "GET",
        "path": "/admin/products.json",
        "protocol": "https:",
        "statusCode": 401,
        "statusMessage": "Unauthorized",
        "headers": {...}
    }

对于所有Shopify应用程序/JavaScript专家,请告知我忽略了什么?

检查API密钥,确保您已为其提供访问产品所需的范围。未能请求产品的读/写范围将是关于401的一个很好的线索。或者您没有按照商店提供给您的信息传递api密钥和密码。

最后,我的错误是使用这些绑定时不正确地使用了api调用

而不是:

 shopify.product.get()
.then(products =>  res.send(products))
.catch(err => res.send(err));
我应该用这个:

shopify.product.list()
.then(products =>  res.send(products))
.catch(err => res.send(err));

“访问产品所需的范围”-这是Shopify Partners帐户内的设置还是Shopify api节点模块内的方法?您在交换oAuth令牌或单击peivate应用程序设置屏幕中的下拉菜单时设置范围,该屏幕为您提供商店本身的api密钥。我检查了商店的Shopify管理员帐户,应用程序权限为:读取产品,变体和集合。我还检查了Shopify合作伙伴的帐户,以验证私人应用程序的API密钥和API密钥是1:1 w/my code。还是不走运。我相信这更像是我在如何正确使用Shopify api节点库中的绑定方面遇到的一个学习曲线问题:您得到401的响应这一事实告诉您,您的api凭据没有被正确使用。浏览一下关于如何给Shopify打电话的文档,你很快就会一帆风顺。它非常简单,与其他1000万个API服务一样。