2017-02-24 7 views
0

Shopify API 문서에서 Shopify Plus 계정에 비용을 지불하는 사용자를위한 "사용자"리소스가 제공됩니다. 아래를 참고하십시오 : https://help.shopify.com/api/reference/user#current Shopify의 지원에 대해 말하면 Shopify Plus 사용자는 소수이기 때문에 shopify_api 보석은 이러한 호출을 지원하지 않으므로 직접 빌드해야합니다. 그래서 같이 현재 ShopifyAPI 모듈과 클래스를 확장하여이 일을 시도했습니다 shopify_api gem을 레일스로 확장하여 Shopify Plus 사용자 만 사용할 수있는 리소스를 검색하십시오.

@user = ShopifyAPI::User.current 

가 나는 "찾을 수 없음"오류가 발생합니다 :
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이 첫 번째 줄, https://mazer-3.myshopify.com:443/admin/users/current.json에 생성되는 것을 복사하고 붙여 넣기하는 경우 Shopify에 로그인 한 상태에서 내 브라우저에서 이상하게도 나에게 현재 사용자와 200 개의 성공 응답 코드를 제공합니다.

ActiveResource 구성에 누락 된 것이 있습니까?

답변

0

Shop이 Plus Shop이 아니기 때문에 사용할 수있는 API 엔드 포인트가 활성화되어 있지 않습니다. Shopify가 해당 호출을 승인하지 않은 경우 사용자 고유의 엔드 포인트 호출을 수행하여 작동 할 것으로 기대할 수 없습니다. 내부적으로 사용자는 플러스 스코프를 켭니다.

좋은 시도라고 생각할 수 있지만 Shopify를 속일 수는 없습니다.

+0

당신은 어떤 경우가 아닌 것으로 생각했습니다. 내가 Shopify 더하기, 내부 플러스 범위에 있습니다. 여기서 질문은 shopify_api 보석을 사용하기 위해 어떻게 확장합니까? 표준 Shopify GEM에는 shopify Plus API가 내장되어 있지 않으며 Shopify Plus API 젬도 제공하지 않습니다. –

+0

그러면 프로그래머가하는 일을하십시오. 포크 보석. 원하는 엔드 포인트에 적합한 코드를 복사하여 붙여넣고 필요에 따라 편집하고 응용 프로그램에서 포크를 사용하십시오. 그렇게하면 업스트림 변경 사항을 쉽게 유지 관리 할 수 ​​있습니다. shopify_api 보석이 제공하지 못하면 항상이 작업을 수행합니다. –

+0

아니면 PHP 사람들이 항상하고있는 일을 cURL ... hahaha ... –