为什么我对 TDA 的 API 的 API 调用没有返回刷新令牌?

Cod*_*n64 8 api trading oauth algorithmic-trading oauth-2.0

所以我按照这里的步骤来写信:https : //www.reddit.com/r/algorading/comments/c81vzq/td_ameritrade_api_access_2019_guide/以获得刷新令牌,以便我可以在 C# 中构建客户端应用程序使用德美利证券的 API,进行特殊股票和期权筛选和交易。在遇到任何麻烦之前,我已经走到了尽头。

在获取我的刷新令牌的最后一步中,您填写了https://developer.tdameritrade.com/authentication/apis/post/token-0上的字段,它失败了,我只是在 HTTP 中得到以下响应401错误:

HTTP/1.1 401 Unauthorized
Access-Control-Allow-Headers: origin
Access-Control-Allow-Methods:
GET
Access-Control-Allow-Origin:
https://developer.tdameritrade.com
Access-Control-Max-Age: 3628800
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 31
Content-Security-Policy: frame-ancestors 'self'
Content-Type: application/json;charset=UTF-8
Date: Sat, 04 Apr 2020 16:07:04 GMT
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Application-Context: OAUTH_SERVICE:run:8080
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
{
  "error": "invalid_grant"
}
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?我已经对每个步骤和文本框中的值(如下图)进行了两次和三次检查以接收刷新令牌,但我无法让它工作。根据指南的步骤,代码和客户端 ID 也已正确完成 - 我进行了两次和三次检查。

这不起作用!

我按照 Reddit 指南中的步骤以及 TDA Ameritrade 自己的链接指南进行操作,以确保我将正确的值放在正确的字段中,所以我真的不知道发生了什么。

任何帮助表示赞赏。

Cod*_*n64 0

事实证明,http://localhost不适用于 TDA API 中的重定向 URI。您必须在应用程序设置中使用https://127.0.0.1,然后在尝试生成第一个刷新令牌时在后续的许多步骤中再次使用 https://127.0.0.1。

所以,这就解决了。