修改 MS Graph 响应以在现场显示

Modifying MS Graph responses for display on site

我有一个 c# Web 应用程序,它使用 MS Graph 连接到 Azure AD B2C 目录以显示用户数据。我正在寻找一种最佳实践方法来显示图形查询返回的内容。我总是可以直接进行字符串格式化,但我正在寻找更优化的东西。

我用

HttpResponseMessage httpmsg = await QueryGraphAsync("/users?$select=displayName");

响应如下所示:

{"@odata.context":"https://graph.microsoft.com/beta/$metadata#users(displayName)","value":[{"displayName":"xxx@xxx.xxx Xxx"}]}

目前只有一位用户。我想要得到的是 "xxx@xxx.xxx Xxx" 不玩字符串修改,这将围绕查找 displayName 进行解析,跳过几个字符并阅读直到找到引号。

Microsoft Graph 是 API returns JSON 的 REST。而不是做 "string modification" 你应该把响应当作一个 JSON 对象,它可以很容易地转换成数组或字典。

var obj = JSON.parse('{"@odata.context":"https://graph.microsoft.com/beta/$metadata#users(displayName)","value":[{"displayName":"xxx@xxx.xxx Xxx"}]}')

var str = JSON.stringify(obj.value[0].displayName)

document.write(str)

这就是您应该如何处理从 Microsoft Graph 获得的所有响应。如果这有帮助,请告诉我!