Расширение драгоценного камня shopify_api в рельсах для получения ресурсов, доступных только пользователям Shopify Plus

В документации Shopify API ресурс "Пользователь" предлагается тем, кто оплачивает аккаунт Shopify Plus. См. Ниже: https://help.shopify.com/api/reference/user Говоря о поддержке Shopify, поскольку пользователь Shopify Plus является меньшинством, драгоценный камень shopify_api не поддерживает эти вызовы, поэтому мне приходится создавать их самостоятельно. Я попытался сделать это, расширив текущий модуль 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"}

Если я скопирую этот URL, который он генерирует в первой строке, https://mazer-3.myshopify.com:443/admin/users/current.json, и вставлю его в свой браузер при входе в Shopify, как ни странно, это дает я текущий пользователь, и 200 код ответа успеха.

Что-то мне не хватает в настройке ActiveResource?

1 ответ

Для вас не активирована конечная точка API, поскольку Магазин не является магазином Plus... вы не можете совершать собственные вызовы конечной точки и ожидать, что они будут работать, если Shopify не авторизовал эти вызовы. Внутри они включают области Plus... как пользователь.

Таким образом, вы можете считать это хорошей попыткой, но вы не можете подделать Shopify.

Другие вопросы по тегам