【问题标题】:Localhost API for TD AmeritradeTD Ameritrade 的本地主机 API
【发布时间】:2019-10-02 06:31:21
【问题描述】:

我正在为 TD Ameritrade 创建一个 API(我第一次创建或处理 API),我需要输入自己的回调 URL。我知道回调 URL 是 API 发送信息的地方,而且我听说我可以使用我的 localhost API。我搜索了互联网,但我不知道它是如何工作的,我想知道我是否可以使用http://localhost

对不起,如果我看起来像个菜鸟,因为我是

【问题讨论】:

    标签: vb.net api localhost


    【解决方案1】:

    简而言之,是的。

    遵循优秀的指示 https://www.reddit.com/r/algotrading/comments/c81vzq/td_ameritrade_api_access_2019_guide/。 (即使和他们在一起,我也花了很多时间在试错上!)

    由于 stackoverflow 在响应中限制为 8 个链接,并且 localhost 文本字符串看起来像一个链接,因此我将其显示为用分号替换冒号,即 http;//localhost 以减少链接数.对不起。

    我在第一次尝试 Brave 后使用了 Chrome 浏览器,但它不起作用,可能是因为我的选项选择。

    转到https://developer.tdameritrade.com/user/me/apps

    使用 http;//localhost 添加一个新的应用程序(如果有的话,删除现有的应用程序)。 复制生成的消费者密钥文本字符串(AKA client_id 或 OAuth 用户 ID)。

    转到https://developer.tdameritrade.com/content/simple-auth-local-apps,按照说明进行操作。注意:由于复制/粘贴验证码,MSWord 插入了前导/尾随空格,在浪费过多时间识别问题后必须手动删除。地址字符串如下所示:

    https://auth.tdameritrade.com/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost&client_id=ConsumerKeyTextString%40AMER.OAUTHAP

    这会返回一个页面,说明服务器拒绝连接,但地址栏现在在地址栏中包含一个 VeryLongStringOfCharacters: https;//localhost/?code= VeryLongStringOfCharacters

    复制地址栏的内容,到https://www.urldecoder.org/,将上面解码,提取出“code=”后面的文字。这是你的 refresh_token

    转到:https://developer.tdameritrade.com/authentication/apis/post/token-0,用

    填写字段
    grant_type=authorization_code
    refresh_token=<<blank>>
    access_type=offline
    code=RefreshTokenTextString
    client_id=ConsumerKeyTextString@AMER.OAUTHAP
    redirect_uri=http;//localhost
    

    按发送。

    如果结果页面以 HTTP/1.1 200 OK 开头,则说明您成功了。

    【讨论】:

    • 发生了一些变化,这些说明不再起作用。结果页面是 400 错误。我已经仔细检查了我是否已按照信中的说明进行操作。代码和重定向 uri 对字符都是正确的。我得到的只是{ "error": "invalid_grant" }。我已经为此工作了一个多月,只是试图成功进行身份验证。我已经尝试了所有可能的变化组合,并按照所有说明进行操作。我相信他们的 API 坏了。
    【解决方案2】:

    如果您生成新代码并基于该代码尝试获取新的访问令牌。它应该工作。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案3】:

    尝试将您的重定向更新为:

    redirect_uri=https://localhost

    他们现在可能需要 https,而您需要一个冒号而不是分号。一切看起来都是正确的。此过程通常需要我尝试一次以上,并且每 90 天需要 15 分钟到 1 小时才能让我的刷新令牌平方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 2017-01-12
      相关资源
      最近更新 更多