2016-09-28 3 views
0

Ruby와 BC API를 처음 사용하기 때문에 누락 된 부분이있을 수 있습니다. 내 가게의 레거시 API 자격 증명으로 대체 적절한 정보와 함께 다음과 같은 코드를 실행 해요 때 :Ruby를 사용하여 Bigcommerce API에 연결할 때 오류가 발생합니다.

require 'bigcommerce' 

Bigcommerce.configure do |config| 
    config.auth = 'legacy' 
    # You will get this url when registering for an API key 
    config.url = ENV['BC_API_ENDPOINT_LEGACY'] 
    config.username = ENV['BC_USERNAME'] 
    config.api_key = ENV['BC_API_KEY'] 
end 

puts Bigcommerce::System.time 

을 나는 다음과 같은 오류가 발생합니다 :

.../lib/ruby/2.3.0/net/http.rb:882:in `rescue in block in connect': Failed to open TCP connection to :80 (Connection refused - connect(2) for nil port 80) (Faraday::ConnectionFailed) 

내가 어떤 포인터를 주셔서 감사합니다.

답변

0

tldr : 당신은 환경 변수가 실제로 설정되지 않는 것 : 환경 변수가 실제로 설정되지 않습니다 같은 페이지

는 소리. 오류 Failed to open TCP connection to :80은 URL을 나열하지 않고 포트만 나열하므로이 말을합니다.

코드 내에서 다음을 실행하면 확인할 수 있습니다. puts ENV['BC_API_ENDPOINT_LEGACY'] 인쇄 된 것이 있는지 확인하십시오.

대신 자격 증명을 하드 코딩하고 환경 변수에 의존하지 않아도됩니다.
export BC_API_ENDPOINT_LEGACY="https://url.com"
그리고 당신이 다른 옵션을 this link을 볼 수 있습니다 echo $BC_API_ENDPOINT_LEGACY

에 의해 설정 확인 :

Bigcommerce.configure do |config| 
    config.auth  = 'legacy' 
    config.url  = 'https://url.com' 
    config.username = 'api_username' 
    config.api_key = 'api_key' 
end 

참고로, 방법은 당신이 환경 변수는 일반적으로 (명령 행에서)이 될 것입니다 설정 RoR 앱의 환경 변수 설정