Ruby on rails Shopify_api gem安装403 ActiveResource::禁止在HomeController中访问#索引

Ruby on rails Shopify_api gem安装403 ActiveResource::禁止在HomeController中访问#索引,ruby-on-rails,ruby,gem,shopify,Ruby On Rails,Ruby,Gem,Shopify,我刚刚安装了shopify\u api gem,并生成了一个占位符应用程序 访问localhost:3000并输入我的店铺url后,我在HomeController#index错误中得到以下信息: ActiveResource::ForbiddenAccess . 我已经确定它来自home\u controller.rb中的这一行 @orders = ShopifyAPI::Order.find(:all) 对此进行评论可以解决问题。 看起来某种许可不适用于订单 我的应用程序设置中的“我

我刚刚安装了
shopify\u api gem
,并生成了一个占位符应用程序

访问
localhost:3000
并输入我的店铺url后,我在
HomeController#index
错误中得到以下信息:

ActiveResource::ForbiddenAccess .
我已经确定它来自
home\u controller.rb中的这一行

@orders   = ShopifyAPI::Order.find(:all)
对此进行评论可以解决问题。 看起来某种许可不适用于订单

我的应用程序设置中的“我的域”匹配
localhost:3000

您是否遵循了shopify\u api gem自述文件中的步骤,因为在执行ShopifyAPI::Base.activate\u会话(会话)之前,您的请求将不会具有所需的身份验证。这就是您得到403(即禁止访问)错误响应的原因

在本例中,您正在列出订单,在这种情况下,如果使用oauth2身份验证,则需要read_orders作用域。请参阅API文档中的页面,了解作用域列表以及需要它们的位置


编辑:意识到403响应是针对缺少访问(即范围),而不是401响应,401响应将是身份验证。

要添加更多详细信息,请检查有关范围参数的详细信息。来说明应用程序需要访问什么。啊,我明白了。当我重新安装默认应用程序时,它唯一显示的项目是“Read Products”,这是URL“scope=Read_product”中的一个参数。我一直在rails应用程序中到处寻找,看看我可以在哪里更改范围,但我找不到它。你知道如何修改该url中的作用域吗?如果你正在使用shopify_应用程序gem,则
config/initializers
中有一个名为
omniauth.rb
的文件。这就是定义范围的地方。感谢所有的帮助。我想我明白了。对于任何寻找该格式的人,您都可以看到它的参考资料