CoinBase API 未返回产品代码数据

问题描述 投票:0回答:1

我正在尝试使用两个不同的函数从 CoinBase API https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproductticker 获取产品代码。第一个如下:

def connect_to_coinbase_ticker(product_id: str):

    url = f"https://api.exchange.coinbase.com/products/{product_id}/ticker"

    headers = {"accept": "application/json"}

    response = requests.get(url, headers=headers).json()

    print(json.dumps(response, indent=4))

但我收到此回复消息:

{"message": "NotFound"}

通过查看上面的链接,我还尝试使用那里提供的函数来获取这些数据:

def connect_to_coinbase_ticker(product_id: str):

    conn = http.client.HTTPSConnection("api.exchange.coinbase.com")
    payload = ''
    headers = {'Content-Type': 'application/json'}
    conn.request("GET", f"/products/{product_id}/ticker", payload, headers)
    res = conn.getresponse()
    data = res.read()
    print(data.decode("utf-8"))

但我不断收到错误消息:

{"message":"User-Agent header is required."}

所以我的问题是如何修改上述功能之一,这样我就不会收到这些消息并获得我请求的产品代码数据。

谢谢!

python coinbase-api
1个回答
0
投票

首先确保您的

pruduct_id
正确。
至于第二个需要用户代理的功能,你可以这样添加:

headers = {'Content-Type': 'application/json',  
           'User-Agent': 'Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36'}  

或任何您想要的用户代理字符串。您可以通过谷歌搜索“我的用户代理字符串是什么”来找出您的实际用户代理并使用它。

© www.soinside.com 2019 - 2024. All rights reserved.