一种用于BUNQ API的SDK,通过它可以以简单的方式进行所有HTTP请求。

bunq-api-sdk的Python项目详细描述


这个项目的目标是为Bunq API提供一个完整的python包装器。它的灵感来自于伟大的 MLowijs。一些功能,特别是 in ApiClient,基于或取自 MadEddie。谢谢Mlowijs和Madeddie!

这个项目是在python 3.6中构建的

Build StatusBCH complianceTest CoverageUpdatesPython 3

开始

  1. 首先在 apiwrapper/config/parameters.ini文件。
  2. 下一个,create a new Virtual Environment 基于python 3.6
  3. 激活虚拟环境并在中安装需求 requirements.txtpip3.6 install -r requirements.txt
  4. 打开get_started.py,阅读注释并跟随它们。 完成此操作后,您将有一个准备就绪的安装程序,并且可以 开始使用api!

重复使用安装

如果您已经遵循了上面提到的脚本get_started.py, 您应该将以下参数保存在某处:

  • API键
  • 私钥
  • 安装令牌(如果您有会话令牌,则不需要)
  • 安装ID(创建新会话令牌所需)
  • 服务器公钥
  • 会话令牌

注意:如果将这些参数保存到配置文件中,它们将位于 apiwrapper/config/parameters.ini

如果您有上述参数,可以继续创建 apiclient,它是bunq api的连接器。

你必须决定使用哪种apiclient。现在,我 包含一个使用配置文件的 apiwrapper/config/parameters.ini,这是“普通”类 APIClient。另外,根据奥格凯文的要求,我还包括了一个APIClient, 它不会从配置文件加载参数,该文件名为 APIClientNonPersisting

因此,决定是否使用配置文件,并取消对 以下几行:

如果要使用存储在 apiwrapper/config/parameters.ini,使用以下代码:

fromapiwrapper.clients.api_client_persistingimportApiClientPersistingapi_key="YOUR API KEY HERE"api=ApiClientPersisting(api_key)

否则,如果要使用自己的参数,请使用以下行 然后在那里输入参数

fromapiwrapper.clients.api_clientimportApiClientapi_key="YOUR API KEY HERE"private_key="YOUR PRIVATE KEY HERE"session_token="YOUR SESSION TOKEN HERE"server_public_key="THE SERVER PUBLIC KEY HERE"api=ApiClient(api_key,privkey=private_key,session_token=session_token,server_pubkey=server_public_key)

现在,您可以使用 EndpointsController。我已经包括了一个如何获得 API中的用户ID:

fromapiwrapper.clients.api_clientimportApiClientfromapiwrapper.clients.api_client_persistingimportApiClientPersistingimportjsonapi="MAKE SURE TO CREATE THE API CLIENT AS DESCRIBED ABOVE"res=api.endpoints.user.get_logged_in_user()print(json.dumps(res,indent=2))

如何使用此API包装器

Bunq API的每个端点都有自己的端点 Endpoint模块。现有的是在 apiwrapper/endpoints包。中的endpointcontroller apiwrapper/endpoints/controller中的每一个都有一个实例 终点。任何apiclient都将具有此端点的实例 控制器调用了endpoints。创建apiclient之后,您可以 只需使用:

api_client.endpoints.ENDPOINT_OF_YOUR_CHOICE.CALL_OF_YOUR_CHOICE()

endpoint函数只是从bunq api返回响应。

[示例]检索用户

的所有货币帐户
importjsonfromapiwrapper.clients.api_client_persistingimportApiClientPersistinguser_id=1234api=ApiClientPersisting()res=api.endpoints.monetary_account.get_all_accounts_for_user(user_id)print(json.dumps(res,indent=2))

贡献

如果您想贡献,请分叉此存储库并开始实现 以下要点之一:*添加POSTPUT和一些 DELETE调用所有终结点*添加加密/解密 /config/parameter.ini使用密码的文件*查看 此存储库的问题

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

推荐PyPI第三方库


热门话题
java OpenShift的齿轮特性   java如何在Liferay站点的每个页面上放置公司地址和电话?   java确定整数数组中是否存在一个子集,在两个条件下求和到给定的目标值   序列化为什么java中的serialVersionUID必须是静态的、最终的、长类型的?   java响应返回null   java注入接口实现Quarkus   java我不明白为什么第二次排序的运行时间比第一次慢?   (Java)显示图像的最佳方式?   java Android应用程序因添加布局而崩溃   java如何在运行时获取泛型变量的类   java Selenium web驱动程序:无效的选择器:*:WebKitFullScreenSentor   Spring中的java注入值始终为空   Eclipse中带有TestNG插件的@BeforeSuite和@AfterSuite的java问题   使用trycatch块、filewriter和printwriter在java中创建自定义类   如何在Java 安卓上绘制相交的两条线