我想从 Microsoft Todo (https://to-do.live.com) 获取待办事项,但我不知道如何开始。我在网上搜索但没有找到 REST API 的文档。
有人知道如何从 MS Todo(以前称为 Wunderlist)访问某些待办事项列表吗? Graph API 是值得关注的地方吗?我没有 Office 365 帐户。
您可以使用 Graph API 来执行待办任务
例如列出所有任务类别:
访问特定类别下的任务:
https://graph.microsoft.com/v1.0/me/todo/lists/{id}/tasks
使用请求正文中的令牌来授权请求。
Authorization : Bearer <Token>
获取Token
我了解您没有任何 Office 365 工作帐户。
访问以下网址并登录
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
使用您的个人帐户凭据登录。
注册应用程序:
注册完成后,您将获得应用程序凭据。
注册完成后。授予权限:
应用程序 --> 应用程序名称 --> API 权限 --> Graph Api
检查以下任务委派权限
您可以使用以下网址授权客户端:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={client_id}&scope={scope}
&response_type=token&redirect_uri={redirect_uri}
获取代币。
就我而言,我试图快速设置一些东西,从 Microsoft ToDo 中的“要观看的电影”列表中选择一个随机任务,为此,我首先需要获取列表中的所有任务 - 应该是这样很简单。在花了几个小时尝试处理 Azure 复杂的身份验证问题和神秘错误(这两个问题都因文档不完整而变得更糟)后,我决定只使用 Graph API 的命令行工具。 从
发布页面安装最新版本后,运行:
mgc login --strategy InteractiveBrowser --scopes Tasks.ReadWrite
这将打开一个浏览器选项卡,让您登录 Microsoft 帐户并启用 CLI 工具的读写权限。
接下来,确保您登录到同一个 Microsoft 帐户,打开
Graph Explorer(用于测试 Graph API 的有用 Web 界面),并在其中运行以下查询:
https://graph.microsoft.com/v1.0/me
...然后检查底部窗格中的响应预览
选项卡中的 id
字段 - 该字段中的值是您的
USER_ID
,并且需要访问您的待办事项帐户。最后,运行以下查询:
https://graph.microsoft.com/v1.0/me/todo/lists
在响应中查找您尝试使用的待办事项列表的名称,并记下其
id
值 - 这是您的
LIST_ID
。有了这两条信息,您现在可以运行 MS Graph CLI 工具。
例如,这是我用来获取未完成任务(即未观看的电影)的完整列表的方法:
mgc users todo lists tasks list --user-id USER_ID --todo-task-list-id LIST_ID
--filter "Status ne 'Completed'" --top 2000 | jq '.value .[] .title'
# --top 2000 is needed to return the maximum amount of results - by
# default the API returns them paged, 50 results at a time
要了解您所需的 CLI 命令,请尝试在 Graph Explorer 的左侧边栏中运行示例 API 查询 - 或编写并运行您自己的查询 - 然后单击底部窗格中的Code Snippets
选项卡,然后CLI 子选项卡可获取 mgc
工具查询的“翻译”。