注:I originally posed this questionはクライアントライブラリリポジトリにあり、.NETライブラリではなくサービスライブラリの問題であると回答しました。Microsoft Graph Client Libraryでuser.MemberOfにアクセス
var user = await GraphClient.Users[userId].Request().Expand("memberOf").GetAsync();
取得するには、おそらく戻っ「NextPageRequest」オブジェクトを使用する方法に供給し、その結果を:私たちは、ユーザーのグループを取得するには、このような何かをやってきた開発中に
現在のページを超える結果。私たちの偽の開発ユーザーアカウントは、初期のリアルユーザーだけでなく、NextPageRequestロジックを必要とする十分なグループメンバシップを持っていなかったため、そのテストは忘れていました。
20+グループとユーザーを取得した後、それは最終的には上記で詳述したよう要求を行うことはメンバーシップの1ページ分を返しますが、後続のリクエストのオプションで使用するNextPageRequestを返さないことが明らかになりました。コレクションに関する文書は、これがどのように行われるべきかのように思えます。私はあなたが既に知っていると確信しているとして
は、作業を行う方法は、このようなものです:
List<Group> userGroups = await GraphClient.Users[userId].MemberOf.Request().GetAsync().CurrentPage.Where(p => p.GetType() == typeof(Microsoft.Graph.Group)).Cast<Microsoft.Graph.Group>().ToList();
これ
は、限り我々が見てきたように、ユーザーのグループメンバーシップのすべてを返します。 "memberOf"でExpandを使用しないことが意図されている場合は、まったく機能しません。今のところ、古いコードはテナントの800人のユーザーのうち約760人のために正常に機能しました。残りは小切手を書いています:)。 .Expand( "memberOf")を間違って実行していた場合は、教えてください。また、GetMemberGroupsはMemberOfとは異なる動作をします。意図は何ですか?たぶん、GetMemberGroups(securityEnabledOnly = false, expandGroupInfo = false)
のようなことをしている方がはっきりしているかもしれません。