首页 > 解决方案 > Microsoft Graph API 不返回日历事件

问题描述

我正在尝试在我的 MVC 应用程序中使用 Microsoft Graph API 来获取、创建、更新和删除日历事件。在完成这项任务时,我面临以下两个问题:

  1. 我的系统中已经有一个 OWIN 授权,它与 Azure AD 授权冲突。两个授权可以同时运行吗?如果可以,如何?

  2. 即使我以某种方式获取 Azure AD 令牌并尝试使用它来获取事件,异步函数也会卡在await语句中并且不会在我的系统中返回任何输出,尽管在独立应用程序中同样适用。我的系统可能有什么问题?

  3. 如何将使用ReadAsStringAsync()函数从 API 返回的 JSON 字符串转换List<>Microsoft.Graph.Event类型对象?

所有帮助将不胜感激。

提前致谢!

标签: c#asp.net-mvcowinmicrosoft-graph-api

解决方案


我的系统中已经有一个 OWIN 授权,它与 Azure AD 授权冲突。两个授权可以同时运行吗?如果可以,如何?

在您的情况下,您拥有自己的身份服务器,这意味着您可以在没有用户的情况下使用 Get Access。

正如官方文档中提到的,您可以将其作为后台服务或守护进程运行。

我们可以在需要时从该后台服务获取访问令牌,并使用它来调用 Microsoft Graph。

即使我以某种方式获取 Azure AD 令牌并尝试使用它来获取事件,异步函数也会卡在 await 语句中并且不会在我的系统中返回任何输出,尽管在独立应用程序中同样适用。我的系统可能有什么问题?

您能否提供定位问题的示例代码?

如何将使用 ReadAsStringAsync() 函数从 API 返回的 JSON 字符串转换为 Microsoft.Graph.Event 类型对象的 List<>?

如果当我们得到响应字符串时,我们可以使用下面的代码将字符串转换为一个List<>类型的Microsoft.Graph.Event对象

JsonConvert.DeserializeObject<List<Event>>(responseString);


推荐阅读