Coinbase API: {\"errors\":[{\"id\":\"invalid_request\",\"message\":\"Invalid currency (USD)\"}]}
Coinbase API: {\"errors\":[{\"id\":\"invalid_request\",\"message\":\"Invalid currency (USD)\"}]}
defmodule APIConnection do
def process_output({:ok, results}, _) do
Print.done()
results.body
end
def process_output({:error, results}, api_url) when results.reason == :timeout do
Print.error("MODULE:#{__MODULE__} - Connection Timeout")
Print.text("Redialing . . . ")
fetch(api_url)
end
def process_output({:error, results}, _) do
IO.inspect(results.reason)
end
def fetch(api_url) do
HTTPoison.start()
HTTPoison.get(api_url, [], ssl: [{:versions, [:"tlsv1.2"]}])
end
def go(api_url) do
# api_url = "https://api.coinbase.com/v2/exchange-rates"
fetch(api_url)
|> process_output(api_url)
end
end
错误信息:
"{\"errors\":[{\"id\":\"invalid_request\",\"message\":\"Invalid currency (USD)\"}]}"
根据 https://developers.coinbase.com/api/v2#get-currencies, https://api.coinbase.com/v2/exchange-rates 是交换数据的正确端点。也就是说,是什么导致了这个错误以及如何有效地解决它?
适合我:
iex(1)> APIConnection.go("https://api.coinbase.com/v2/exchange-rates") │ 18 HTTPoison.get(api_url, [], ssl: [{:versions, [:"tlsv1.2"]}])
done │ 19 end
"{\"data\":{\"currency\":\"USD\",\"rates\": ...
也许这是他们 API 的临时错误。我可以通过使用无效货币调用 API 来重现它,但不能 USD
:
$ curl https://api.coinbase.com/v2/exchange-rates?currency=USD
{"data":{"currency":"USD","rates":{
$ curl https://api.coinbase.com/v2/exchange-rates?currency=XXX
{"errors":[{"id":"invalid_request","message":"Invalid currency (XXX)"}]}
defmodule APIConnection do
def process_output({:ok, results}, _) do
Print.done()
results.body
end
def process_output({:error, results}, api_url) when results.reason == :timeout do
Print.error("MODULE:#{__MODULE__} - Connection Timeout")
Print.text("Redialing . . . ")
fetch(api_url)
end
def process_output({:error, results}, _) do
IO.inspect(results.reason)
end
def fetch(api_url) do
HTTPoison.start()
HTTPoison.get(api_url, [], ssl: [{:versions, [:"tlsv1.2"]}])
end
def go(api_url) do
# api_url = "https://api.coinbase.com/v2/exchange-rates"
fetch(api_url)
|> process_output(api_url)
end
end
错误信息:
"{\"errors\":[{\"id\":\"invalid_request\",\"message\":\"Invalid currency (USD)\"}]}"
根据 https://developers.coinbase.com/api/v2#get-currencies, https://api.coinbase.com/v2/exchange-rates 是交换数据的正确端点。也就是说,是什么导致了这个错误以及如何有效地解决它?
适合我:
iex(1)> APIConnection.go("https://api.coinbase.com/v2/exchange-rates") │ 18 HTTPoison.get(api_url, [], ssl: [{:versions, [:"tlsv1.2"]}])
done │ 19 end
"{\"data\":{\"currency\":\"USD\",\"rates\": ...
也许这是他们 API 的临时错误。我可以通过使用无效货币调用 API 来重现它,但不能 USD
:
$ curl https://api.coinbase.com/v2/exchange-rates?currency=USD
{"data":{"currency":"USD","rates":{
$ curl https://api.coinbase.com/v2/exchange-rates?currency=XXX
{"errors":[{"id":"invalid_request","message":"Invalid currency (XXX)"}]}