我正在尝试将这个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
但我没有刷新令牌。我只想使用报价API,我不想做任何实际的交易。我可以在这里测试consumer key https://developer.tdameritrade.com/quotes/apis/get/marketdata/quotes,它工作得很好。我也需要获取刷新令牌吗?这是强制性的吗?有没有办法在没有refresh token的情况下只使用consumer key
这里https://developer.tdameritrade.com/quotes/apis/get/marketdata/quotes写着“授权令牌又称刷新令牌是可选的”,那么它真的是“可选的”吗?
发布于 2020-10-18 01:47:46
据我所知,如果你有令牌,你会得到更多最新的报价。如果不这样做,您将获得延迟的数据:
传递您的OAuth用户ID,以未经身份验证请求延迟的数据。
如果你想要更多的实时数据(我没有Ameritrade帐户,不确定延迟差到底是多少),你可以使用标记:
(Optional)验证请求的授权令牌。未经身份验证的请求不需要
(未通过身份验证的请求是上述延迟路由)
或者,如果需要刷新令牌(每90天过期一次,用于获取访问令牌一次(每30分钟过期一次)),则步骤如下所示:https://developer.tdameritrade.com/content/simple-auth-local-apps
将为您提供刷新令牌,您可以使用该令牌90天来请求访问令牌,并允许您在不需要服务器的情况下进行身份验证。请注意,您将需要至少每90天更新一次应用程序的刷新令牌,以保持其正常运行。
同样,我没有TD Ameritrade帐户来亲自确认这一点,但看起来您至少有两个选择来获得报价。
更多常见问题解答资源:
https://stackoverflow.com/questions/64404766
复制相似问题