python - Alpha Vantage API Key在Python中返回无效错误,什么是Response[200]?

标签 python python-requests alpha-vantage

使用以下代码,我没有从 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 时出现三个问题。

  1. 在您的第一次尝试中,您正确地调用了 API,但使用了无效的代码。 Alpha Vantage API 不支持 NIFTY 以及其他全局索引.

  2. 在您的第二次尝试中,您打印出一个响应对象,该对象在转换为字符串时看起来就像您收到的输出一样,Response[200] 表示 API 调用成功。要从中获取数据,您必须打印 response.textresponse.json()

  3. 第三个问题比较微妙,取决于您要返回的内容。如果要使用 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/

相关文章:

python - Pyramid 覆盖默认请求日志以添加新参数

python - 使用 shebang 通过 subprocess.call 执行 python 脚本

python - 如何在 Python 3.7 中正确地 requests.put

python - 带有仅适用于本年度的表单数据的 POST 请求

python - 如何使用Python pandas-datareader 0.8正确从Alpha Vantage调用数据

python - Python 中的 Alphavantage API - X 轴上没有日期

api - 如何在 Alphavantage 的 URL 中使用带有 "."的符号?

python - ValueError : This sheet is too large! 您的工作表尺寸为 : 1220054, 3 最大工作表尺寸为 : 1048576, 16384

python - 确定分组数据框中值的变化

排序列表的 Pythonic 方式