将Shopify_api Gem扩展在Rails中,以检索仅用于Shopify Plus用户的资源



在Shopify API文档中,资源"用户"是为那些支付Shopify Plus帐户的人提供的。见下文:https://help.shopify.com/api/reference/user#current在Shopify的支持下,由于Shopify Plus用户是少数,因此Shopify_api Gem不支持这些电话,因此我必须自己构建它们。我尝试通过扩展当前的Shopifyapi模块和类似的课程来执行此操作:

module ShopifyAPI
  class User < Base
    def self.current(options={})
      find(:one, options.merge({from: "/admin/users/current.json"}))
    end
  end
end

然后我将新方法称为以下内容:

@user = ShopifyAPI::User.current

我遇到了一个"找不到"错误。如果我检查ActiverEsource的日志以查看它在尝试什么,奇怪的是,我会得到以下内容,看起来正确:

I, [2017-02-24T13:14:19.278087 #4890]  INFO -- : GET https://mazer-3.myshopify.com:443/admin/users/current.json
I, [2017-02-24T13:14:19.278356 #4890]  INFO -- : --> 404 Not Found 22 (279.5ms)
I, [2017-02-24T13:14:19.279605 #4890]  INFO -- : Headers: {"Accept"=>"application/json", "User-Agent"=>"ShopifyAPI/4.3.5 ActiveResource/4.1.0 Ruby/2.3.1", "X-Shopify-Access-Token"=>"SOME_CHARACTERS_HERE_I_AM_NOT_SHOWING_TO_THE_PUBLIC"}
I, [2017-02-24T13:14:19.279680 #4890]  INFO -- : Response:
{"errors":"Not Found"}

如果我复制了该网址,则它将在第一行上生成,https://mazer-3.myshopify.com:443/admin/users/current.json,并将其粘贴到我的浏览器中,同时登录Shopify,奇怪地,很奇怪,它确实为我提供了当前的用户和200个成功响应代码。

配置ActiverEsource我是否缺少一些东西?

没有激活您使用的API端点,因为商店不是加上商店...如果Shopify没有,您将无法拨打自己的端点并期望它们工作授权这些电话。在内部,他们像用户一样打开加上范围。

因此,您可以认为这是一个很好的尝试,但是您不能伪造Shopify。