在 Graph API 中为其他用户列出和创建任务
List and create tasks for other users in Graph API
我们有一个与 Azure 中的订阅相关联的公司帐户。根据此 Microsoft 文档 (https://docs.microsoft.com/en-us/graph/api/outlookuser-post-tasks?view=graph-rest-beta&tabs=csharp),该帐户属于委派权限类型。我们需要列出其他用户的 outlook 任务并为使用该公司帐户的其他用户创建任务。为此,我们正在尝试使用 Graph API Beta 版本。我们能够为登录用户自己的任务执行这些操作。但是找不到使用上述公司帐户为其他用户执行这些操作的方法。
此时使用 Graph API Beta 版本是否可行?
如果是这样如何进行?
否则满足上述要求的替代方案是什么?
您需要的是应用程序权限,但是Graph OutlookTask API 尚不支持。
OutlookTaskAPI Permissions
编辑:截至今天(6/17/2020),它仍然不受支持。但是,Microsoft UserVoice 上有一个请求。
我们不能直接使用POST /users/{id|userPrincipalName}/outlook/tasks
为他人创建任务。它将 return 一个错误 "A folder id must be specified for delegate access."
根据我的测试,确实有办法。但实际上这不是一个推荐的方式,因为工作量很大。
我们假设您需要使用 UserA 为 UserB 创建 outlook 任务。
详细步骤:
- 用户 B 将邮箱权限 "Full Access" 授予 Office 365 中的用户 A。请参阅 Use the EAC to assign permissions to individual mailboxes。 (请注意,在第 1 步之后,用户 A 将能够打开用户 B 的邮箱并获得其所有权限。此过程最多可能需要数小时才能使更改在系统中传播并生效。)
- 使用 UserA 登录到 Graph Explorer。列出 UserB 的任务文件夹
使用
Get https://graph.microsoft.com/beta/users/UserB/outlook/taskfolders
。记录下"id"值,下一步会用到。 (如果您看到类似 "The specified object was not found in the store." 的错误,请等待第 1 步生效。)
- 使用
Post
https://graph.microsoft.com/beta/users/UserB/outlook/taskfolders/{ID
from step 2}/tasks
创建任务。
我们有一个与 Azure 中的订阅相关联的公司帐户。根据此 Microsoft 文档 (https://docs.microsoft.com/en-us/graph/api/outlookuser-post-tasks?view=graph-rest-beta&tabs=csharp),该帐户属于委派权限类型。我们需要列出其他用户的 outlook 任务并为使用该公司帐户的其他用户创建任务。为此,我们正在尝试使用 Graph API Beta 版本。我们能够为登录用户自己的任务执行这些操作。但是找不到使用上述公司帐户为其他用户执行这些操作的方法。
此时使用 Graph API Beta 版本是否可行? 如果是这样如何进行? 否则满足上述要求的替代方案是什么?
您需要的是应用程序权限,但是Graph OutlookTask API 尚不支持。
OutlookTaskAPI Permissions
编辑:截至今天(6/17/2020),它仍然不受支持。但是,Microsoft UserVoice 上有一个请求。
我们不能直接使用POST /users/{id|userPrincipalName}/outlook/tasks
为他人创建任务。它将 return 一个错误 "A folder id must be specified for delegate access."
根据我的测试,确实有办法。但实际上这不是一个推荐的方式,因为工作量很大。
我们假设您需要使用 UserA 为 UserB 创建 outlook 任务。
详细步骤:
- 用户 B 将邮箱权限 "Full Access" 授予 Office 365 中的用户 A。请参阅 Use the EAC to assign permissions to individual mailboxes。 (请注意,在第 1 步之后,用户 A 将能够打开用户 B 的邮箱并获得其所有权限。此过程最多可能需要数小时才能使更改在系统中传播并生效。)
- 使用 UserA 登录到 Graph Explorer。列出 UserB 的任务文件夹
使用
Get https://graph.microsoft.com/beta/users/UserB/outlook/taskfolders
。记录下"id"值,下一步会用到。 (如果您看到类似 "The specified object was not found in the store." 的错误,请等待第 1 步生效。) - 使用
Post https://graph.microsoft.com/beta/users/UserB/outlook/taskfolders/{ID from step 2}/tasks
创建任务。