Python封装的Toodledo v3 API,文档可在http://api.toodledo.com/3/找到。
项目描述
概述
Python封装的Toodledo v3 API,文档可在http://api.toodledo.com/3/找到。可在PyPI上找到https://pypi.ac.cn/project/toodledo/。
此分支正在由Jonathan Kamens <jik@kamens.us>积极维护。新版本的变更日志已在GitHub上发布。
感谢Rehan Khwaja创建此库。
用法
如果您使用此库构建一个将被多人使用的Web应用程序,您需要熟悉如何使用OAuth2在您的Web应用程序和Toodledo之间进行身份验证。如何进行此操作的说明超出了本文档的范围。
要使用此库,您需要在Toodledo账户中注册一个应用程序。您可以在https://api.toodledo.com/3/account/doc_register.php进行此操作。您将需要应用程序在注册页面显示的客户ID和客户端密钥来连接到API。
如果您使用此库来构建您自己运行的自定义脚本,您可能希望使用库中的CommandLineAuthorization函数进行首次认证。例如:
import os
from toodledo import TokenStorageFile, CommandLineAuthorization
tokenFilePath = "fill in path to token file"
clientId = "fill in your app client ID"
clientSecret = "fill in your app client secret"
scope = "basic tasks notes folders write"
tokenStorage = TokenStorageFile(tokenFilePath)
if not os.path.exists(tokenFilePath):
CommandLineAuthorization(clientId, clientSecret, scope, tokenStorage)
它将提示您访问一个URL,如果您尚未登录,将提示您登录Toodledo,然后点击“登录”按钮。由于您在注册应用程序时可能指定了一个无效的重定向URL,因此登录将失败,但您可以复制浏览器中的失败URL并将其粘贴回脚本中,以完成认证过程。
认证后,您可以创建一个API实例,如下所示:
toodledo = Toodledo(
clientId=clientId,
clientSecret=clientSecret,
tokenStorage=tokenStorage,
scope=scope)
以下是调用API的方法:
account = toodledo.GetAccount()
allTasks = toodledo.GetTasks()
请参阅各个方法的帮助信息。
还可以查看此更广泛的脚本API使用示例。
使用任务缓存
除了对API端点的直接访问之外,此库还实现了一个可用的TaskCache类,您可以使用它将任务持久地存储在文件中,当Toodledo中的事物发生变化时,文件将增量更新。导入该类并查看其帮助字符串以获取更多信息。
开发库
该库使用poetry来管理包、构建和发布。您可以在源树的顶层运行poetry install来安装构建和运行库所需的所有依赖项。运行poetry build构建包,运行poetry publish将它们发布到PyPI。
库中的所有代码都经过pylint和flake8的清理,提交的任何PR都应该保持这种状态。运行poetry run pylint *.py tests toodledo和poetry run flake8来检查一切。
要运行测试,设置以下环境变量
TOODLEDO_TOKEN_STORAGE - 包含凭证的json文件的路径
TOODLEDO_CLIENT_ID - 您的客户ID(见https://api.toodledo.com/3/account/doc_register.php)
TOODLEDO_CLIENT_SECRET - 您的客户端密钥(见https://api.toodledo.com/3/account/doc_register.php)
然后通过运行以下命令生成凭证json文件:
poetry run python generate-credentials.py
然后在根目录中执行以下命令以运行测试:
poetry run pytest
。
请确保您提交的所有PR中的测试都通过。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。