【问题标题】:Can't get data from ZenMoney API (OAuth2)无法从 ZenMoney API (OAuth2) 获取数据
【发布时间】:2022-02-06 06:15:35
【问题描述】:

我不擅长 AOuth2,所以我正在使用 ZenMoney 的准备工作专用库: https://github.com/Felixoid/python-zenmoney

在这里你可以看到“最简单的开始方式”:

oauth = OAuth2('ge9e572374ec89f3a1562e4*******', '2d14e80****', '***tin@nes.ru', 'x3bTm***')
api = Request(oauth.token)
diff = api.diff(Diff(**{'serverTimestamp': 1}))

(我在上面隐藏了我的凭据)

之后,根据库中的描述,我可以使用“diff”从 API (https://github.com/zenmoney/ZenPlugins/wiki/ZenMoney-API#principles) 获取数据

但我得到的只是:

diff

> <diff.Diff at 0x171fcfd92e0>

调用属性显示相同:

diff.transaction

> [<transaction.Transaction at 0x171fd0fe670>,
 <transaction.Transaction at 0x171fd0fe6a0>,
 <transaction.Transaction at 0x171fd0fe6d0>,
 <transaction.Transaction at 0x171fd0fe700>,
 <transaction.Transaction at 0x171fd0fe730>,
 <transaction.Transaction at 0x171fd0fe760>,
 <transaction.Transaction at 0x171fd0fe790>,
 <transaction.Transaction at 0x171fd0fe7c0>,
 <transaction.Transaction at 0x171fd0fe7f0>,
 <transaction.Transaction at 0x171fd0fe820>,
 <transaction.Transaction at 0x171fd0fe850>,
 <transaction.Transaction at 0x171fd0fe880>,
 <transaction.Transaction at 0x171fd0fe8b0>,
 <transaction.Transaction at 0x171fd0fe8e0>, 
...

在深入研究了库后面的代码之后,我仍然不知道如何获取json格式的数据或类似的东西

正如我上面所说,我从未处理过 AOuth2,但我正在使用 REST API,所以这个问题可能很明显,我做的事情根本上是错误的

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python-3.x api oauth-2.0


【解决方案1】:

例如,您可以使用此构造(获取昨天的交易):

import sys
from unidecode import unidecode
from datetime import date, timedelta
from zenmoney import *


yesterday=date.today()- timedelta(days=1)
yesterday=yesterday.strftime('%Y-%m-%d')

oauth = OAuth2('xxx', 'xxx', 'xxx', 'xxx')
api = Request(oauth.token)
#diff = api.diff(Diff(**{'serverTimestamp': 0}))
diff = api.diff(Diff(**{'serverTimestamp': 1}))

zen_transaction = ZenObject.to_dict(diff.transaction)
zen_transaction = sorted(zen_transaction, key=lambda k: k['date'])
for item in zen_transaction:
    if item['date']==yesterday:
        print(item)

【讨论】:

  • 这段代码对我也不起作用。我得到“代码 400”或什么都没有,取决于注册以获取访问令牌。可能是秘密令牌注册阶段的问题?你能告诉我在注册期间我应该在以下字段中插入什么:“App site url:”和“OAuth callback point url:”吗?我尝试了不同的选项,首先是我的本地主机数据
猜你喜欢
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
  • 2019-09-07
  • 1970-01-01
  • 2018-07-14
相关资源
最近更新 更多