我正在尝试将此Java库用于TD Ameritrade 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中,“授权令牌又称为刷新令牌是可选的”,因此它实际上是“可选的”
答案 0 :(得分:0)
据我所知,如果您有令牌,您将获得更多最新报价。否则,您将获得延迟的数据:
传递您的OAuth用户ID进行未经身份验证的请求 已延迟数据。
如果您想要更多实时数据(我没有Ameritrade帐户,不确定确切的延迟差异是多少),可以使用令牌:
(可选)用于验证请求的授权令牌。 不 未经验证的请求是必需的
(未经身份验证的请求是上述延迟路由)
或者,如果您想要一个刷新令牌,该令牌每90天过期一次,并用于获取访问令牌(每30分钟过期一次),请在此处列出这些步骤: https://developer.tdameritrade.com/content/simple-auth-local-apps
这将为您提供刷新令牌,您可以使用90天来 请求访问令牌,无需进行身份验证即可进行身份验证 服务器。请注意,您需要在以下位置更新应用的刷新令牌 至少每90天一次以保持其功能。
同样,我没有TD Ameritrade帐户可以亲自确认,但是您似乎至少有两个选择来获取报价。
其他常见问题解答资源: