0

我正在尝试通过 Graph API C# 撤回特定计划。我知道不支持应用程序权限,并且我相信我使用的是委托工作流程。

这是我正在使用的查询:

 var template = await _graphServiceClient.Groups[$"{group[0].Id}"].Planner.Plans
                    .Request()
                    .Filter($"Title eq '[Template] {templateName}'")
                    .GetAsync();

它会抛出一个 404(为了便于阅读而截断):

    {
        "error": {
            "code": "UnknownError",
            "message": "... <fieldset>  <h2>404 - File or directory not found.</h2>  
    <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3> </fieldset> ...",
           
        }
    }

但是,如果我删除 FILTER 行,请求就会通过,并且我会获得该组有权访问的 Planner 计划的完整列表。

 var template = await _graphServiceClient.Groups[$"{group[0].Id}"].Planner.Plans
                    .Request()
                    .GetAsync();

使用Graph Explorer 我可以复制问题

4

1 回答 1

1

假设如果Filter没有在该端点不支持的任何 Microsoft Graph 文档中明确提及Filter,我对这个特定端点的解决方法是:

var templates = await _graphServiceClient.Groups[$"{group[0].Id}"].Planner.Plans
                    .Request()
                    .GetAsync();


var template = templates.Single(x => x.Title == $"[Template] {templateName}");
于 2022-01-19T15:01:05.653 回答