无法通过Microsoft.Graph

时间:2018-12-21 19:54:36

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

我尝试通过Microsoft Graph访问DeletedItems

这是我的代码:

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

我收到此异常响应:

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

有人知道如何正确访问deletedItems吗?我是否缺少访问它的内容?

1 个答案:

答案 0 :(得分:3)

此特定调用有点不寻常,因为所使用的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.Client Nuget以获得HttpMessageContent对象。