vb.net - “无法识别的 lambda 表达式。” 使用 Microsoft.Graph 时
问题描述
我正在尝试从 Azure Active Directory 中提取用户数据。
我的功能目前看起来像:
Public Async Function GetUserDetailsAsync(ByVal accessToken As String) As Task(Of CachedUser)
Dim graphClient = New GraphServiceClient(New DelegateAuthenticationProvider(Function(requestMessage)
requestMessage.Headers.Authorization = New AuthenticationHeaderValue("Bearer", accessToken)
Return Task.FromResult(0)
End Function))
Dim user = Await graphClient.Me.Request().Select(Function(u) New With {u.DisplayName}).GetAsync()
Return New CachedUser With {
.Avatar = String.Empty,
.DisplayName = user.DisplayName,
.Email = If(String.IsNullOrEmpty(user.Mail), user.UserPrincipalName, user.Mail)
}
End Function
问题是它与GetAsync()
. 我收到消息异常Unrecognized lambda expression. Parameter name: selectExpression
我应该如何写选择?如果这是一个错误,是否有人有解决方法?
解决方案
关于这个问题,请参考以下代码
Dim graphClient = New GraphServiceClient(New DelegateAuthenticationProvider(Function(requestMessage)
requestMessage.Headers.Authorization = New AuthenticationHeaderValue("Bearer", accessToken)
Return Task.CompletedTask
End Function))
Dim user = Await graphClient.[Me].Request().[Select]("displayName").GetAsync()
Console.WriteLine(user.DisplayName)
推荐阅读
- html-email - 是否可以使用 mjml 设置容器或包装器宽度?
- typo3 - 如何在 TYPO3 中将压缩和连接的 CSS 移动或包含到页脚?
- python-3.x - 升级 Python 版本以运行和创建 Sagemaker Endpoint 的自定义容器
- amazon-s3 - 拒绝在框架中连接“https://s3.console.aws.amazon.com/”,因为 AWS 是“X-Frame-Options”到“拒绝”
- c# - 将巨大的项目列表作为参数传递给 SQL Server 的最高效方法是什么?
- nextcloud - 在 lxd 中捕捉 nextcloud,apparmor 失败
- python - IsADirectoryError: [Errno 21] 是一个目录:
- python - Leetcode: 14. 最长公共前缀
- c# - 使用 C# 比较两个文件夹中的文件
- database - Visual Studio 上没有模板