2016-09-28 6 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:ご使用の環境変数が実際に設定されていない等P

サウンズ:あなたは、環境変数が実際に設定されていませんね。 エラーFailed to open TCP connection to :80にはURLは含まれていませんが、ポートだけがリストされているので、これを言います。

コード内で確認するには、 puts ENV['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 

FYI、あなたは環境変数を設定する方法が一般的に(コマンドラインから)次のようになります。
export BC_API_ENDPOINT_LEGACY="https://url.com"
そして、あなたが他のオプションについてはthis linkを表示することができecho $BC_API_ENDPOINT_LEGACY

によって設定されていることを確認しますあなたのRoRアプリケーションの環境変数を設定してください。

関連する問題