MS Graph SDK C#-获取计划中的所有任务
我试图从某个计划中获得所有任务(标题或任何内容) 目前,我的代码只返回我所参与的计划或分配给我的任务,但我还想检索{lan内未分配的任务MS Graph SDK C#-获取计划中的所有任务,c#,microsoft-graph-api,C#,Microsoft Graph Api,我试图从某个计划中获得所有任务(标题或任何内容) 目前,我的代码只返回我所参与的计划或分配给我的任务,但我还想检索{lan内未分配的任务 var plans = await graphServiceClient .Me .Planner .Plans .Request() .GetAsync(); foreach (var plan in plans) { //works Console.WriteLine(plan.Title);
var plans = await graphServiceClient
.Me
.Planner
.Plans
.Request()
.GetAsync();
foreach (var plan in plans)
{
//works
Console.WriteLine(plan.Title);
Console.WriteLine(plan.Id);
//does not work
Console.WriteLine(plan.Tasks);
Console.WriteLine(plan.Tasks.Count);
}
var tasks = await graphServiceClient
.Me
.Planner
.Tasks
.Request()
.GetAsync();
foreach (var task in tasks)
{
Console.WriteLine(task.Title);
}
在代码中,//不起作用的部分中,
是两行不起作用的代码(即使一次使用1行)
无法找到获取未分配任务的方法。尝试删除
.Me
部分,但似乎没有任何效果。SDK不会自动填充计划.tasks
,这就是它们显示为空的原因。您需要单独请求它们
为此,您首先需要注意获取计划列表(/me/planner/plans/
)、单个计划(/planner/plans/{id}
)和单个计划中的任务(/planner/plans/{id}/tasks
)之间的区别
因此,首先需要获取计划列表,然后在迭代计划时检索任务:
var plans = await graphServiceClient
.Me
.Planner
.Plans
.Request()
.GetAsync();
foreach (var plan in plans)
{
Console.WriteLine($"{plan.Title} ({plan.Id})");
var tasks = await graphServiceClient
.Planner
.Plans[plan.Id]
.Tasks
.Request()
.GetAsync();
foreach (var task in tasks)
{
Console.WriteLine($"{task.Title} ({task.Id})");
}
}
尝试向初始请求添加Expand
var plans=wait graphServiceClient.Me.Planner.plans.request().Expand(“Tasks”).GetAsync();
现在它甚至不返回计划的标题,但感谢您的建议:)