首页 > 解决方案 > 无法通过 Microsoft.Graph 访问 DeletedItems

问题描述

我尝试通过 Microsoft Graph访问DeletedItems 。

这是我的代码:

graphClient
  .Directory
  .DeletedItems[userid]
  .Request()
  .GetAsync();

我收到此异常响应:

Code: BadRequest. 
Message: Resource not found for the segment 'directory'. 

有谁知道如何deletedItems正确访问?我错过了访问它的东西吗?

标签: c#microsoft-graph-apimicrosoft-graph-sdks

解决方案


这个特殊的调用有点不寻常,因为使用的 Id 实际上不是用户 Id,而是对象类型或 objectId。因此,要获取已删除项目的列表,请在数组索引中传递类型。

例如

var graphClient = new GraphServiceClient(null);

var request = graphClient
      .Directory
      .DeletedItems["microsoft.graph.user"]
      .Request()
      .GetHttpRequestMessage();

var content = new HttpMessageContent(request);
Console.Write(content.ReadAsStringAsync().Result);
Console.Read();


Output:

GET /v1.0/directory/deletedItems/microsoft.graph.user HTTP/1.1
Host: graph.microsoft.com
SdkVersion: Graph-dotnet-1.13.0

上面的代码演示了一种查看库试图发送的 HTTP 请求的便捷方式。它需要拉入Microsoft.AspNet.WebApi.ClientNuget 来获取HttpMessageContent对象。


推荐阅读