【问题标题】:Extracting request_token / Auth_token from a redirect url从重定向 url 中提取 request_token / Auth_token
【发布时间】:2021-07-19 10:32:54
【问题描述】:

所以我正在编写一个脚本来获取财务数据,并且我正在使用经纪人的 API。流程是这样的。用户必须登录,然后它被重定向到redirect_url,它还包含redirect_url 中的request_token。我想从 redirect_url 中提取此令牌,但 requests.get 中的 URL 与重定向 URL 不同。

欢迎提出任何建议。

import requests
r = requests.get(kite.login_url())
print(r.url)

这是我正在使用的当前代码。 kite 是代理的 API 对象。 最终我想使用 plotly dash 创建一个仪表板,所以如果有任何使用它的解决方案也很好。

我正在使用 Zerodha Kite Connect API,并将重定向 URL 设置为 https://127.0.0.1

当我尝试获取 r.url 时,我得到以下响应:

https://kite.zerodha.com/connect/login?api_key={myapikey}&sess_id={somesessionid}

而不是

https://127.0.0.1/?request_token={request_toke}&action=login&status=success

当我点击上面的链接时得到的

【问题讨论】:

  • 检查this answer 看看是否能满足您的需求。否则,请添加更多信息,例如代理的 URL、您正在获取的 URL 以及您想要获取的经过清理的 URL。
  • 我尝试了这个答案推荐的方法,但我仍然无法获得最终重定向的 URL。我会添加更多信息。

标签: python authentication url


【解决方案1】:

你误会了kite.login_url()的使用方法。

免责声明:我对 Kite 本身一无所知,但通过阅读我可以看到登录流程与任何其他 OAuth 登录流程非常相似。

我假设您已经按照this documentation 设置了您的 Kite 帐户。这意味着设置 API 密钥、API 机密和重定向 URL。

您需要让您的应用将用户重定向到 kite.login_url() 包含的 URL。

然后提示用户登录并接受。 这是您缺少的步骤。 用户执行此操作后,它会声明here URL 应该更改为您需要的内容。

【讨论】:

  • 我已经提示用户去 kite.login_url() 然后重定向到我的重定向 URL。那么用户在 login_url 中输入详细信息后如何获取此重定向 URL 是我不知道的。
  • 我希望你需要运行一个服务器(使用 Flask fe)来获取你需要的值...
猜你喜欢
  • 2022-09-30
  • 2011-05-15
  • 2013-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 2013-06-06
  • 1970-01-01
  • 2015-07-09
相关资源
最近更新 更多