用于非官方Avanza API的Python库

avanza-api的Python项目详细描述


阿凡扎

用于非官方Avanza API的Python库。此库基于现有的JavaScript库Avanza。在

请注意,这只是一个概念的证明,因此不打算被任何人使用。在

值得注意的是,我与Avanza Bank AB没有任何关联。底层API可以在任何时间点在没有警告的情况下关闭或更改。在

安装

pipinstallavanza-api

得到一个完整的秘密

注意:自2018年5月起,登录需要双因素身份验证。

以下是获取TOTP秘密的步骤:

  1. 转到Mina Sidor>;Profil>;Sajtinställningar>;Tvåfaktorsinglogning,然后单击“ïteraktivera”。(仅在已设置双因素身份验证的情况下执行此步骤。
  2. 在下一个屏幕上单击“Aktivera”。在
  3. 选择“安南应用程序för tvåfaktorsinlogning”。在
  4. 单击“Kan du inte scanna QR koden?”来揭露你的秘密。在
  5. 使用下面的python代码生成TOTP代码,并将TOTP代码粘贴到下面找到TOTP密码的字段中。在
  6. 完成了!从现在开始,你要做的就是在构造函数中提供你的秘密,如下面的例子所示。在

生成TOTP代码:

^{pr2}$

示例

验证和获取帐户概述:

fromavanzaimportAvanzaavanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})overview=avanza.get_overview()

获取某个帐户的信息

fromavanzaimportAvanza,TimePeriodavanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})accountId='XXXXXXX'report=avanza.get_insights_report(accountId,TimePeriod.ONE_WEEK)

下订单

fromavanzaimportAvanza,OrderTypeavanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})account_id='XXXXXXX'order_book_id='XXXXXX'buy_price=13.37valid_until=date.fromisoformat('2011-11-11')volume=42result=avanza.place_order(account_id,order_book_id,OrderType.BUY,buy_price,valid_until,volume)

订阅实时数据

importasynciofromavanzaimportAvanza,ChannelTypedefcallback(data):# Do something with the quotes data hereprint(data)asyncdefsubscribe_to_channel(avanza:Avanza):awaitavanza.subscribe_to_id(ChannelType.QUOTES,"19002",# OMX Stockholm 30callback)defmain():avanza=Avanza({'username':'MY_USERNAME','password':'MY_PASSWORD','totpSecret':'MY_TOTP_SECRET'})asyncio.get_event_loop().run_until_complete(subscribe_to_channel(avanza))asyncio.get_event_loop().run_forever()if__name__=="__main__":main()

许可证

麻省理工学院执照。有关详细信息,请参见许可证文件。在

职责

本软件的作者对任何间接损害(可预见或不可预见)概不负责,如有必要,数据的丢失或更改或欺诈性访问,病毒或任何其他有害元素的意外传播,利润或机会的损失,更换商品和服务的费用或第三方的态度和行为。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java广播接收器未检测到按键事件   java不为特定列更改创建修订   java采用了更实用的方法   java桌面窗格HTML呈现   java处理internet连接丢失   java在调整JFrame的大小时,如何防止JTable的列调整大小?   如何用Java中的“Scanner.hasNext”完成程序   具有模块名称的java停止IntelliJ项目工具窗口?   执行已编译的Rails-Warbler JAR文件时发生java加载错误   java Spring数据redis存储库不支持集合查询?   每个客户端的java队列请求   获取Java中的JSON嵌套数组元素   java GWT,Vaadin ConcurrentModificationException   firebase存储中的java在保存照片之前,我需要发送两次照片   JavaSpringEleaf如何在容器外使用变量