【发布时间】:2022-07-03 18:48:05
【问题描述】:
我在 azure 函数中使用图形 API。 使用objectId从B2C获取用户信息。 如果您请求现有用户的 objectID,我将获得正确的用户信息。 另一方面,如果请求不存在的用户的 objectID,则会发生 500 错误。 在这种情况下,我想做的是请求 objectID 以查看用户是否存在。 如果存在,则返回用户信息,如果不存在,则无法检测到,因为没有返回任何内容并返回 500 错误。 有什么好办法吗?
var client = new GraphServiceClient(new ClientCredentialProvider(confidentialClientApplication));
var user = await client.Users
.Request
.Filter($"id eq '{objectId}'")
.GetAsync()
.ConfigureAwait(false);
我应该更改过滤器属性的内部吗? 有人可以帮帮我吗?
【问题讨论】:
-
您可以使用
try catch块,在catch内可以写类似catch (ServiceException ex) { return this.StatusCode(ex.StatusCode); }的内容,因为Microsoft Graph有ServiceException类来处理这个问题。
标签: c# azure azure-functions azure-ad-graph-api