0

我正在尝试将这个 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,我不想进行任何实际交易。我可以在consumer key这里测试https://developer.tdameritrade.com/quotes/apis/get/marketdata/quotes并且效果很好。我也必须获得刷新令牌吗?它是强制性的吗?有没有办法consumer key只使用没有refresh token

这里https://developer.tdameritrade.com/quotes/apis/get/marketdata/quotes它说“授权令牌又名刷新令牌是可选的”,所以它真的是“可选的”

4

1 回答 1

0

据我所知,如果您有代币,您将获得更多最新报价。如果不这样做,您将获得延迟数据:

传递您的 OAuth 用户 ID 以对延迟数据发出未经身份验证的请求 。

如果您想要更多实时数据(我没有 Ameritrade 账户,不确定延迟差异究竟是什么),您可以使用代币:

可选)验证请求的授权令牌。未经身份验证的请求不需要

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

或者,如果您想要一个每 90 天到期并用于获取访问令牌(每 30 分钟到期)的刷新令牌,请在此处列出步骤: https ://developer.tdameritrade.com/content/simple-auth -本地应用程序

这将为您提供一个刷新令牌,您可以使用 90 天来 请求访问令牌并允许您在不需要服务器的情况下进行身份验证。请注意,您需要至少每 90 天更新一次应用的刷新令牌以保持其正常运行。

同样,我没有 TD Ameritrade 账户来亲自确认这一点,但看起来您至少有两个选项来获取报价。

更多常见问题资源:

于 2020-10-17T17:47:45.767 回答