我知道这可能是严格针对具体情况的,但我确实觉得我经常遇到这个问题,所以我会努力尝试更好地理解它。
我对使用 API 很陌生,但我从未在不复制某人代码的情况下成功使用 API。在这种情况下,我什至在论坛上找不到任何示例,在 API 文档中也找不到。
我正在尝试从我的投资银行“NordNet”中提取我的余额值,以在我制作的 Arduino 显示屏上滚动等。现在,我使用 python Selenium 自动“物理”登录 NordNet 并从 DOM 获取余额。因为我担心我可能会因为这种恶意行为而受到“惩罚”,而且由于脚本的维护成本相当高(随着 HTML 随着时间的推移而变化),我显然更愿意通过 NordNet 的新 API 获取此信息。
每次我尝试使用 API 文档时,它总是一样的,看起来很简单,但我永远无法让它工作。
这次我尝试在进一步探索之前先尝试一下 API。 我使用PostMan发送最简单的请求:
我得到了成功的代码 200 JSON 响应。
然后我尝试进一步使用此端点访问我的帐户数据:
https://www.nordnet.se/api/2/accounts
对于这个,我显然需要某种身份验证
文档看起来像这样:
所以我像这样设置我的 PostMan 客户端并显示响应:
我已将 NordNet 登录信息作为“基本身份验证”放入“身份验证”选项卡中,然后我在“标头”选项卡中看到 PostMan 以某种方式加密了此信息。
我收到未经授权的响应代码,但我不知道为什么。我使用 PostMan 是否错误(可能)? API 是否有故障(可能没有)?有提到应该包含密码和用户名的
session_id
?也许完全是别的东西......
希望你能帮忙
我也有同样的问题,我想找回我的账户仓位。所以我找到了会话ID,这是我通过运行登录的post请求获得的。从那里,我不知道如何编写get请求的授权。您可以在以下链接中找到我提到的请求:https://www.nordnet.se/externalapi/docs/api#_errorresponse
但是授权过程是一样的。我知道它需要进行base64加密,这很简单,但是我到底加密了什么?会话密钥或会话 ID(这与 cookies 相同吗??)?.