微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以使用Outlook API从Outlook中显示日历吗? Xamarin表格

如何解决我可以使用Outlook API从Outlook中显示日历吗? Xamarin表格

我能够通过MSAL进行身份验证,并在Listview中检索日历的事件

但是这不是我想要的,是否可以从Outlook中列出整个日历?

enter image description here

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

    var calendar = await graphClient.Me.Calendar
        .Request()
        .GetAsync();

尝试使用这两种方法,但没有任何显示

var queryOptions = new List<QueryOption>()
{
    new QueryOption("startDateTime","2017-01-01T19:00:00-08:00"),new QueryOption("endDateTime","2017-01-07T19:00:00-08:00")
};

var calendarView = await graphClient.Me.Calendar.CalendarView
    .Request( queryOptions )
    .GetAsync();

我可以假设我需要创建自己的布局/日历来存储事件吗?

我是C#的新用户,所以请裸露自己。

解决方法

Microsoft Graph API确保应用程序可以与Outlook.com(Microsoft帐户)或Office 365(企业帐户)进行通信。因此,您可以在“代码隐藏”中调用以下代码。

var client = new GraphServiceClient("https://graph.microsoft.com/v1.0",new DelegateAuthenticationProvider(
      async (requestMessage) =>
      {
         var tokenRequest = await App.IdentityClientApp.AcquireTokenSilentAsync(App.Scopes,App.IdentityClientApp.Users.FirstOrDefault());
         requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer",tokenRequest.AccessToken);
      })); 
   var events = await client.Me.Events.Request().GetAsync();
   var list = events.ToList();
   YourListView.ItemsSource = list.Take(5);

这里有一个完整的blog,也许可以为您提供帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。