我们继续通过Robinhood.com玩猫猫游戏。我有一个交易应用程序,该应用程序过去曾与Robinhood进行股票交易,但他们不断更改不受支持的非官方API,使交易者难以使用。我知道很多人都在做同样的事情,我想联系他们,看看是否有新的答案。最新的问题是,当我尝试使用URL https://api.robinhood.com/oauth2/token/获取Bearer令牌时,API返回以下JSON:{“ detail”:“此版本的Robinhood不再受支持。请更新您的应用程序或将Robinhood用于通过Web登录到您的帐户。“}。这开始于4/26/2019。
有没有人找到解决这个问题的办法,还是他们最终击败了我们,使之屈服?
答案 0 :(得分:1)
就可以了。冒着风险他们看到这篇文章并对其进行更多更改的风险,我们开始:
clientId
-它应该是一个大的十六进制数字,用破折号分隔/oauth2/token
字段下device_token
的POST请求中可能还有另一种检索设备令牌的方法,我什至不确定它是否唯一,但是这种方法应该可以工作。
答案 1 :(得分:1)
更完整的解决方案(不需要浏览器):
使用requests.session
。
此后,即使注销,您也可以通过user / pass重用device_id。 请小心存储device_id,因为它是用户/密码登录和成功的SMS /电子邮件2FA的结果。
答案 2 :(得分:0)
很长一段时间后很高兴回到这里。 不知道是否有人还在寻找答案,但是我有一个非常简单的解决方案。
在Robinhood的登录屏幕上,输入您的用户名/电子邮件和密码,按键盘上的F12以调出控制台面板并切换到“网络”选项卡,然后等待页面完全加载。 (在这段时间内,您将看到根据连接速度快速加载的项目列表。)
这时,您可以通过单击下图中突出显示的按钮来继续清除列表。
Click on button highlighted repeatedly until the list is empty
现在,登录您的Robinhood帐户。此时,您的控制台应显示类似于以下所示的列表。
我能够从过去的知识和网络刮刮的经验中找到乐趣。而且,因为我最近开始通过Robinhood进行交易,所以我也需要知道这一点。
希望这可以帮助您好奇的人。
答案 3 :(得分:0)
对于我的 Robinhood 帐户,我将 Google 身份验证器用于我的 2FA。到目前为止,我将之前发送的原始呼叫发送到 https://api.robinhood.com/oauth2/token/。这是给我的回应:
{"mfa_required":true,"mfa_type":"app"}
然后我重复我的 oauth 令牌请求,但这次提供来自 Google Authenticator 的值(因此我的 GUI 必须提示我填写它),并在 https://api.robinhood.com/oauth2/token/ 的请求中使用此有效负载:
{"grant_type":"password","scope":"internal","client_id":"c82SH0WZOsabOXGP2sxqcj34FxkvfnWRZBKlBjFS","expires_in":86400,"device_token":"***","username":"***","password":"****","mfa_code":"***"}
然后我得到一个访问令牌作为回复