将日历事件从Outlook拉入数据库

时间:2017-09-04 14:13:58

标签: asp.net-mvc fullcalendar outlook-restapi

我正在使用FullCalender创建一个ASP.NET Web应用程序我在JQuery中添加了CRUD功能,现在我尝试添加与outlook calender的集成来提取登录到他们的Outlook帐户的用户的事件。我已经浏览了REST API Tutorial以在页面上设置身份验证和显示事件。

我的数据库名称为MyDatabaseEntities,包含和Events表,其中包含实体EventID,Subject,Description,Start,End,Themecolor和IsFullDay。

如何修改以下类以便将事件插入到我的数据库中?然后,这将允许我在我的日历上显示它们。

public async Task<ActionResult> Calendar()
    {
        string token = await GetAccessToken();
        if (string.IsNullOrEmpty(token))
        {
            // If there's no token in the session, redirect to Home
            return Redirect("/");
        }

        string userEmail = await GetUserEmail();

        GraphServiceClient client = new GraphServiceClient(
            new DelegateAuthenticationProvider(
                (requestMessage) =>
                {
                    requestMessage.Headers.Authorization =
                        new AuthenticationHeaderValue("Bearer", token);

                    requestMessage.Headers.Add("X-AnchorMailbox", userEmail);

                    return Task.FromResult(0);
                }));

        try
        {
            var eventResults = await client.Me.Events.Request()
                                .OrderBy("start/dateTime DESC")
                                .Select("subject,start,end")
                                .Top(10)
                                .GetAsync();

            return View(eventResults.CurrentPage);
        }
        catch (ServiceException ex)
        {
            return RedirectToAction("Error", "Home", new { message = "ERROR retrieving events", debug = ex.Message });
        }
    }

0 个答案:

没有答案