Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
Ruby on rails 4 在rails中扩展shopify_api gem,以检索仅适用于shopify Plus用户的资源_Ruby On Rails 4_Shopify_Activeresource - Fatal编程技术网

Ruby on rails 4 在rails中扩展shopify_api gem,以检索仅适用于shopify Plus用户的资源

Ruby on rails 4 在rails中扩展shopify_api gem,以检索仅适用于shopify Plus用户的资源,ruby-on-rails-4,shopify,activeresource,Ruby On Rails 4,Shopify,Activeresource,在ShopifAPI文档中,为那些支付Shopify Plus帐户的用户提供了资源“用户”。见下文: 说到Shopify的支持,因为Shopify Plus用户是少数,Shopify_api gem不支持这些调用,所以我必须自己构建它们。我尝试通过扩展当前的ShopifyAPI模块和类来实现这一点,如下所示: module ShopifyAPI class User < Base def self.current(options={}) find(:one, opt

在ShopifAPI文档中,为那些支付Shopify Plus帐户的用户提供了资源“用户”。见下文: 说到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
我得到一个“未找到”错误。如果我查看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"}
如果我复制它在第一行生成的URL,并在登录Shopify时将其粘贴到我的浏览器中,奇怪的是,它确实会给我当前用户和200个成功响应代码


在配置ActiveResource时我缺少什么吗?

没有为您激活的API端点,因为商店不是Plus商店。。。如果Shopify未授权进行端点调用,则无法进行自己的端点调用并期望它们能够正常工作。在内部,他们打开加号范围。。。喜欢用户


所以你可以认为这是一个很好的尝试,但是你不能伪造商店。p> 你假设了一些事实并非如此的东西。我有Shopify plus,在内部,plus范围已打开。这里的问题是,如何扩展Shopfify_api gem以使用它们?标准的ShopifyGem没有任何内置的ShopifyPlus调用,它们也不提供ShopifyPlus API GEM。那就按照程序员的做法去做吧。用叉子叉宝石。复制并粘贴适用于所需端点的代码,根据需要进行编辑,并在应用程序中使用fork。这样,您可以轻松地维护上游更改。当shopify_api gem无法提供时,我总是这样做。不久前,gem也有折扣端点代码。。我想他们最近把它拉了。请注意,无论您有多特别,端点的动力都非常不足。您甚至不能按名称搜索代码。呸
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"}