coinbase-api python 库入门

coinbase-api python library getting started

除了比特币,我似乎无法获得任何价格。在这方面需要一点帮助。

我正在使用这个库,恐怕它没有得到维护:https://github.com/coinbase/coinbase-python

这个有效:

#!/usr/bin/python
from coinbase.wallet.client import Client
api_key = "<my key>"
api_secret = "<my secret>"
client = Client(api_key, api_secret)
price = client.get_buy_price(currency_pair = 'BTC')
print price

但是即使我指定了 LTC,此调用也会返回完全相同的响应。我也尝试过 ETH 和 BCH 以及 none 这些工作。

#!/usr/bin/python
from coinbase.wallet.client import Client
api_key = "<my key>"
api_secret = "<my secret>"
client = Client(api_key, api_secret)
price = client.get_buy_price(currency_pair = 'LTC')
print price

两者都给出了完全相同的响应:

{
    "amount": "13155.51", 
    "base": "BTC",
    "currency": "USD"
}

TLDR;根据我的发现,这个 api 的所有货币买入价格都发送相同的结果,如您所说。话虽如此,您尝试使用的货币名称不在支持的货币列表中。我建议找一个替代方案 api.

您可以通过调用 client.get_currencies():

来查看货币 ID 无效
from coinbase.wallet.client import Client

api_key = "<Your API Key>"
api_secret = "<Your API Secret>"

client = Client(api_key, api_secret)

currencies = client.get_currencies()

names = [currency["id"] for currency in currencies["data"]]

print("LTC" in names)
print("ETH" in names)
print("BCH" in names)

这会打印:

False
False
False

您可以获得货币 ID 列表及其名称,如下所示:

from coinbase.wallet.client import Client

api_key = "<Your API Key>"
api_secret = "<Your API Secret>"

client = Client(api_key, api_secret)

currencies = client.get_currencies()

for currency in currencies["data"]:
    print(currency["id"], currency["name"])

打印出来:

AED United Arab Emirates Dirham
AFN Afghan Afghani
ALL Albanian Lek
AMD Armenian Dram
ANG Netherlands Antillean Gulden
AOA Angolan Kwanza
ARS Argentine Peso
AUD Australian Dollar
AWG Aruban Florin
AZN Azerbaijani Manat
BAM Bosnia and Herzegovina Convertible Mark
BBD Barbadian Dollar
BDT Bangladeshi Taka
BGN Bulgarian Lev

BHD Bahraini Dinar
BIF Burundian Franc
...
...
...

虽然,我似乎确实发生了同样的事情,价格也一样..:[=​​40=]

print(client.get_buy_price(currency_pair="BTC-USD"))
print(client.get_buy_price(currency_pair="CAD-USD"))

也给出相同的结果:

{
  "amount": "13142.02",
  "base": "BTC",
  "currency": "USD"
}

{
  "amount": "13142.02",
  "base": "BTC",
  "currency": "USD"
}

如果 api 没有得到维护,那么我建议您四处寻找可以提供您所需要的东西的另一个 api。

我使用了这种方法并且它对我有用:

  rates = client.get_exchange_rates(currency='LTC')
  rate  = rates['rates']['EUR']

但是价格好像不是经常更新。 希望这有帮助。