技术问询:如何通过Microsoft Graph API不借助Microsoft Planner分配Office365用户任务
答案:可以直接分配任务(无需依赖Microsoft Planner)
嘿,这个问题问得很到位!完全可以做到——你不需要依赖Microsoft Planner的Plan和Bucket,直接用Microsoft To Do对应的Microsoft Graph API就能给特定Office365用户分配任务。
核心逻辑:基于Microsoft To Do的独立任务分配
Microsoft To Do是Office 365生态中独立于Planner的任务管理服务,它的Graph API提供了完整的任务操作能力,包括直接给其他Office365用户分配任务,全程不需要涉及Planner的任何资源(Plan、Bucket都不用)。
权限要求
你需要为应用配置对应的Graph API权限,根据你的应用模式选择:
- 委派权限(Delegated):如果你的应用是代表某个用户操作,需要申请
Tasks.ReadWrite.Shared权限(允许读写共享/分配的任务) - 应用权限(Application):如果你的应用是后台服务模式(无需用户登录),需要申请
Tasks.ReadWrite.All权限(允许读写所有用户的任务,需管理员同意)
具体操作步骤
- 获取目标用户标识:你需要知道目标用户的用户ID(
userId)或者用户主体名称(UPN,比如lisa.smith@contoso.com),用来指定任务的被分配人。 - 确定任务列表:可以选择在目标用户的个人任务列表中创建任务,或者在共享任务列表中创建(如果有权限)。
- 调用API创建并分配任务:发送POST请求到对应的Graph API端点,在请求体中明确指定
assignedTo字段。
示例API请求
POST https://graph.microsoft.com/v1.0/users/{targetUserId}/todo/lists/{tasksListId}/tasks Content-Type: application/json { "title": "完成项目需求文档", "assignedTo": { "emailAddress": { "address": "lisa.smith@contoso.com", "name": "Lisa Smith" } }, "dueDateTime": { "dateTime": "2024-07-20T20:00:00", "timeZone": "Asia/Shanghai" }, "body": { "content": "需覆盖3个核心模块的功能需求,完成后同步给技术评审组" } }
关键注意事项
- 被分配任务的用户必须拥有Microsoft To Do许可证(通常包含在Office 365商业版、教育版等主流套餐中)。
- 任务分配完成后,目标用户会在自己的Microsoft To Do应用(网页版、桌面版或移动端)的「已分配给我」视图中直接看到该任务。
- 如果使用应用权限模式,需确保你的应用已获得管理员同意,且有权限访问目标用户的任务列表。
内容的提问来源于stack exchange,提问作者Martin O.
相关产品推荐
相关产品推荐

