【问题标题】:Authentication for API & PythonAPI 和 Python 的身份验证
【发布时间】:2020-03-21 14:02:45
【问题描述】:

我第一次尝试制作一个 API,我已经制作了我的应用程序,但它说我必须使用此处的说明进行本地身份验证:

Link to TDAmeritrade authentication

但它说我必须继续 https://auth.tdameritrade.com/auth?response_type=code&redirect_uri={URLENCODED REDIRECT URI}&client_id={URLENCODED Consumer Key}%40AMER.OAUTHAP 我插入“url 编码重定向 uri”和“urlencoded 消费者密钥”我不知道如何获取 URI。假设我使用的是本地主机 1111,我是否只需插入“localhost:1111”?因为那没用

也许这无关紧要?因为我正在写以下内容:

import requests
from config import consumer_key
#daily prices generator
endpoint = "https://api.tdameritrade.com/v1/marketdata/{}/pricehistory".format("AAPL")

#parameters
import time
timeStamp=time.time()
timeStamp=int(timeStamp)
parameters = {'api_key':consumer_key,
             'periodType':'day',
             'frequencyType':"minute",
             'frequency':'5',
             'period':'1',
             'endDate':str(timeStamp+86400),
             'startDate':str(timeStamp),
             'extendedHourData':'true'}
#caller
stuff = requests.get(url = endpoint, params = parameters)

#reformater
lister = stuff.json()
lister

which 返回 "{'error': '请求查询参数中的 API 密钥为 null 或空白或无效。'}"

【问题讨论】:

  • 请不要分享代码图片,而是代码本身。
  • 您找到解决方案了吗?我也有同样的问题

标签: python api


【解决方案1】:

TDA 有一些规则

  • timeStamp 需要以毫秒为单位
  • 只能以分钟格式显示过去 31 天

还有一些格式限制。

frequenceType=minute --> then use periodType=day
frequencyType=daily  --> then use periodType=month

【讨论】:

    猜你喜欢
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多