使用以下代码,我没有从 alphavantage 获取任何数据,我收到以下 API 错误:
"Error Message": "Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_DAILY." }
import requests
import alpha_vantage
API_URL = "https://www.alphavantage.co/query"
data = {
"function": "TIME_SERIES_DAILY",
"symbol": "NIFTY",
"outputsize": "compact",
"datatype": "csv",
"apikey": "xxx",
}
response = requests.get(API_URL, params=data)
print(response.json())
我编辑了代码来尝试其他的东西,但我还是得到了一些奇怪的东西,这次是:
响应 [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)
这是怎么回事?
(下面的 key 混淆为xxx
)
最佳答案
您尝试调用此 API 时出现三个问题。
在您的第一次尝试中,您正确地调用了 API,但使用了无效的代码。 Alpha Vantage 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)
关于python - Alpha Vantage API Key在Python中返回无效错误,什么是Response[200]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61445426/