Alpha Vantage API Key returns invalid error in Python, Response[200] 是什么?

Alpha Vantage API Key returns invalid error in Python, and what is Response[200]?

使用以下代码,我没有从 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())

我编辑了代码以尝试其他方法,但我还是发现了一些奇怪的东西,这次是:

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 时出现了三个问题。

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

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

  3. 第三个问题比较微妙,取决于您要做什么return。如果您想 return 使用 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)