【问题标题】:Shopify_api gem install 403 ActiveResource::ForbiddenAccess in HomeController#indexShopify_api gem install 403 ActiveResource::ForbiddenAccess in HomeController#index
【发布时间】:2012-06-06 19:30:59
【问题描述】:

我刚刚安装了shopify_api gem 并生成了一个占位符应用。

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

ActiveResource::ForbiddenAccess .

我已经确定它来自home_controller.rb的这条线

@orders   = ShopifyAPI::Order.find(:all)

注释掉这个问题就解决了。 似乎某种权限不适用于订单。

我的应用设置中的域匹配localhost:3000

【问题讨论】:

    标签: ruby-on-rails ruby gem shopify


    【解决方案1】:

    您是否按照 shopify_api gem 的自述文件中的Getting Started 步骤进行操作,因为在您执行 ShopifyAPI::Base.activate_session(session) 之前,您的请求不会获得所需的身份验证。这就是您收到 403(即 ForbiddenAccess)错误响应的原因。

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

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

    【讨论】:

    • 只是为了更详细地添加,检查有关范围参数的细节。说明应用需要访问的内容。
    • 啊,我明白了。当我重新安装默认应用程序时,它说的唯一项目是“读取产品”,这是 URL 'scope=read_product' 中的一个参数,我一直在 rails 应用程序中到处寻找可以更改范围的地方,但我找不到它。知道如何修改该网址中的范围吗?
    • 如果您使用的是 shopify_app gem,config/initializers 中有一个名为 omniauth.rb 的文件。这就是定义范围的地方。
    • 感谢大家的帮助。想我想通了。对于任何寻找该格式的人,您可以查看它的参考https://github.com/Shopify/omniauth-shopify-oauth2#configuring
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多