TD Ameritrade API是否需要刷新令牌?

时间:2020-10-17 16:33:27

标签: java ameritrade

我正在尝试将此Java库用于TD A​​meritrade https://github.com/studerw/td-ameritrade-client

这是起始代码

    Properties props = new Properties();
    props.setProperty("tda.client_id", "XXX@AMER.OAUTHAP"); // I have this 
    props.setProperty("tda.token.refresh", "XXX");  // I don't have this 

我有一个client_id,也称为consumer key

但是我没有刷新令牌。我只想使用Quotes API,但不想进行任何实际交易。我可以在https://developer.tdameritrade.com/quotes/apis/get/marketdata/quotes测试consumer key,并且效果很好。我也必须获取刷新令牌吗?它是强制性的吗?有没有办法只使用consumer key而不使用refresh token

https://developer.tdameritrade.com/quotes/apis/get/marketdata/quotes中,“授权令牌又称为刷新令牌是可选的”,因此它实际上是“可选的”

1 个答案:

答案 0 :(得分:0)

据我所知,如果您有令牌,您将获得更多最新报价。否则,您将获得延迟的数据:

传递您的OAuth用户ID进行未经身份验证的请求 已延迟数据。

如果您想要更多实时数据(我没有Ameritrade帐户,不确定确切的延迟差异是多少),可以使用令牌:

可选)用于验证请求的授权令牌。 不 未经验证的请求是必需的

(未经身份验证的请求是上述延迟路由)

或者,如果您想要一个刷新令牌,该令牌每90天过期一次,并用于获取访问令牌(每30分钟过期一次),请在此处列出这些步骤: https://developer.tdameritrade.com/content/simple-auth-local-apps

这将为您提供刷新令牌,您可以使用90天来 请求访问令牌,无需进行身份验证即可进行身份验证 服务器。请注意,您需要在以下位置更新应用的刷新令牌 至少每90天一次以保持其功能。

同样,我没有TD Ameritrade帐户可以亲自确认,但是您似乎至少有两个选择来获取报价。

其他常见问题解答资源: