首页 > 解决方案 > 从重定向 url 中提取 request_token / Auth_token

问题描述

所以我正在编写一个脚本来获取财务数据,并且我正在使用经纪人的 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

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

标签: pythonauthenticationurl

解决方案


您误解了如何使用kite.login_url().

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

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

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

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


推荐阅读