Microsoft Graph .NET Client Libraryを使用してUser.Managerフィールドを設定するヒントを教えてください。私はhow to do this via a direct REST callを知っているが、できるだけそれらの呼び出し(ラッパーをバイパス)を避けたい。以下のコードで、私はマネージャープロパティをクリアすることができました。Microsoft Graph .NETクライアントライブラリを使用してマネージャを割り当てます
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();
このコードは例外をスローしませんが、マネージャーも更新しません。要求が間違っています。上記のコードはPUTの代わりに "base"オブジェクトにPATCHを送ります。上記のコードによって生成された
要求:
graphClient.Users[newUser.Id].Manager.Reference.Request().DeleteAsync();
しかし、我々のようなものを持っている必要があります。
PATCH https://graph.microsoft.com/v1.0/users/[Id of the user to be updated] HTTP/1.1 SdkVersion: 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
これは、ライブラリ内のギャップであるかもしれないように見えます。これを指摘してくれてありがとう。確認して、あなたに連絡しましょう。 –