使用以下代码,我没有从alphavantage获得任何数据,我得到以下API错误:
编辑了代码来尝试其他东西,但我仍然得到了一些奇怪的东西,这次是:"Error Message": "Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_DAILY." }
Response [200]
这是它的代码:
import requests import alpha_vantage API_URL = "https://www.alphavantage.co/query" data = { "function": "TIME_SERIES_DAILY", "symbol": "US", "outputsize": "compact", "datatype": "csv", "apikey": "xxx" } response = requests.get(API_URL, params=data) print(response)
这是怎么回事?(以下密钥混淆为
xxx
(
在尝试调用此API时会出现三个问题。
-
在您的第一次尝试中,您正确地调用了API,但使用了无效的ticker。AlphaVantage API不支持
NIFTY
和其他全局索引。 -
在第二次尝试中,您打印出一个响应对象,当转换为字符串时,它看起来就像您收到的输出一样,
Response[200]
意味着成功地进行了API调用。要从中获取数据,您必须打印response.text
或response.json()
-
第三个问题更微妙,取决于你想要回报什么。如果要使用
datatype: "csv"
返回csv文件,则不能使用response.json()
,因为格式不适用于json。您可以使用默认的datatype: "json"
,方法是将该字段留空。
如果您想获得csv文件,可以使用print(response.text)
JSON示例
import requests
import alpha_vantage
API_URL = "https://www.alphavantage.co/query"
data = {
"function": "TIME_SERIES_DAILY",
"symbol": "M&M.NSE",
"outputsize": "compact",
"apikey": "xxx"
}
response = requests.get(API_URL, params=data)
print(response.json())
CSV示例
import requests
import alpha_vantage
API_URL = "https://www.alphavantage.co/query"
data = {
"function": "TIME_SERIES_DAILY",
"symbol": "M&M.NSE",
"outputsize": "compact",
"datatype": "csv",
"apikey": "xxx"
}
response = requests.get(API_URL, params=data)
print(response.text)