SignInNamesに基づいてユーザーをフィルタリングすることは可能ですか?発生しました内部 サーバー:私はemail
は、ログイン名[email protected]{mytenant}.onmicrosoft.com
B2CテナントでMicrosoft.Azure.ActiveDirectory.GraphClientを使用してUser.SignInNamesを照会する
あるローカルアカウントのユーザーであるしかし、私はちょうど
Microsoft.Data.OData.ODataErrorExceptionを取得
Client.Users.Where(u => u.SignInNames.Any(x => x.Type == "emailAddress" && x.Value == email)).ExecuteSingleAsync() as User;
を実行しようとしましたエラー。 ---> System.Data.Services.Client.DataServiceQueryException:この要求の処理中にエラー が発生しました。 - > System.Data.Services.Client.DataServiceClientException: {"odata.error":{"code": "Service_InternalServerError"、 "message":{"lang": "en"、 "value": " 「内部サーバーエラー が発生しました。」}
何が悪いと思いますか?
正常に動作しますSignInNames.Any(x => x.Value == email)
実行している、あなたはあなたのクエリで複数の操作を持っている場合、クライアントはそれを好きではないようです。
はい、signInNamesクエリは、値を使用してのみサポートされています。すべてのタイプを検索します。このタイプは、主に情報のためのものです。 –