2014-06-11 5 views
0

Fondamentalement, mon niveau de connaissances dans Office 365 au niveau de début.Obtenir un rendez-vous à partir de Office365 en C# .Net

J'essaie d'extraire le rendez-vous d'Office 365 via l'appel de l'API .Net Office 365 et de l'afficher dans Windows Application Grid. J'utilise le code (ci-dessous) pour tirer les rendez-vous; J'ai recueilli le code du web ...

J'ai réussi jusqu'à la partie d'authentification. Je peux voir le message de succès d'authentification et les propriétés du calendrier Office 365 comme FromTime, Location etc. Mais je ne suis pas en mesure de recevoir les données. Il renvoie System.Nullable DateTime Exception.

namespace GetCal 
{ 
    public class CalendarAPISample 
    { 
     const string ExchangeResourceId = "https://outlook.office365.com"; 
     const string ExchangeServiceRoot = "https://outlook.office365.com/ews/odata"; 

     public static async Task<IOrderedEnumerable<IEvent>> GetCalendarEvents() 
     { 
      var client = await EnsureClientCreated(); 
      string fromdate = "01/01/2014"; 
      DateTime datet = Convert.ToDateTime(fromdate); 

      // Obtain calendar event data 
      var eventsResults = await(from i in client.Me.Events 
             where i.End >= datet //DateTimeOffset.UtcNow 
            select i).Take(10).ExecuteAsync(); 

      var events = eventsResults.CurrentPage.OrderBy(e => e.Start); 
      //return events.ToList().ConvertAll(new Converter(ent => ent)); 
      return events; 
     } 

     private static async Task<ExchangeClient> EnsureClientCreated() 
     { 
      Authenticator authenticator = new Authenticator(); 
      var authInfo = await authenticator.AuthenticateAsync(ExchangeResourceId); 

      return new ExchangeClient(new Uri(ExchangeServiceRoot), authInfo.GetAccessToken); 
     } 

     public static async Task SignOut() 
     { 
      await new Authenticator().LogoutAsync(); 
     } 

     public CalendarAPISample() 
     { 
      // TODO: Complete member initialization 
      try 
      { 
       // call the authenticator 
       var x = GetCalendarEvents();    

      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 
     } 
    } 
} 

Dans les EVENEMENTS objets contient IEnumerable valeurs de types de données. Je veux convertir IEnumerable à DataTable.

+0

Pourquoi avez-vous besoin d'être un DataTable? – HaukurHaf

+0

Dataset ou DataTable pour afficher les rendez-vous dans la grille – user3729893

Répondre

Questions connexes