gpt4 book ai didi

c# - 使用 Microsoft Graph .NET 客户端库分配经理

转载 作者:行者123 更新时间:2023-11-30 23:26:14 25 4
gpt4 key购买 nike

有人可以给我提示如何使用 Microsoft Graph .NET Client Library 设置 User.Manager 字段吗? ?我知道how to do this via a direct REST call但希望尽可能避免这些调用(绕过包装器)。通过下面的代码,我能够清除管理器属性。

client = new GraphClient(...);
var builder = new DirectoryObjectWithReferenceRequestBuilder(
client.Users["<userid>"].Manager.Request().RequestUrl,client
);
builder.Request().DeleteAsync().Wait()

但是,我仍然无法弄清楚哪个类允许我为成员引用 ( as described here ) 构建 PUT 请求。我尝试了以下代码:

var mgr = new DirectoryObject();
mgr.Id = "<Id of the user that should be set as manager>";

var usrPatch = new User();
usrPatch.Manager = mgr;

client.Users["<Id of the user to be updated>"].Request().UpdateAsync(usrPatch).Wait();

此代码不会引发异常,但也不会更新管理器。请求是错误的。上面的代码向“基本”对象发送 PATCH 而不是 PUT。

上面的代码生成的请求:

PATCH https://graph.microsoft.com/v1.0/users/[Id of the user to be updated] HTTP/1.1SdkVersion: graph-dotnet-1.0.1 Content-Type: application/json Host: graph.microsoft.com Content-Length: 45 Expect: 100-continue{"id":"[Id of the user that should be set as manager]"}

响应是 204。

最佳答案

我看到以下内容以删除经理:

graphClient.Users[newUser.Id].Manager.Reference.Request().DeleteAsync();

但是我们应该使用如下所示的内容来分配经理:

graphClient.Users[newUser.Id].Manager.Reference.Request().AddAsync(manager);

我将为此提交一个错误并在修复后进行更新。

关于c# - 使用 Microsoft Graph .NET 客户端库分配经理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com