Advertisement
Guest User

Untitled

a guest
Dec 29th, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.88 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading;
  4. using Google.Apis.Auth.OAuth2;
  5. using Google.Apis.Calendar.v3;
  6. using Google.Apis.Calendar.v3.Data;
  7. using Google.Apis.Gmail.v1;
  8. using Google.Apis.Gmail.v1.Data;
  9. using Google.Apis.Services;
  10.  
  11. namespace AssurWare.Helpers
  12. {
  13.     public class GoogleClient
  14.     {
  15.         public static GmailService GmailService { get; set; }
  16.         public static CalendarService CalendarService { get;set; }
  17.         public string UserName { get; set; }
  18.         public UserCredential Credential { get; set; }
  19.  
  20.         public GoogleClient()
  21.         {
  22.             Credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
  23.                new ClientSecrets
  24.                {
  25.                    ClientId = "436107420939-21o8a0tvuu7md9298pv6g0ot20dkn9qp.apps.googleusercontent.com",
  26.                    ClientSecret = "7OXnQ4p9oBh8udQ66GMm85-D"
  27.                },
  28.            new[] {
  29.                 GmailService.Scope.MailGoogleCom
  30.                  },
  31.                "me",
  32.                CancellationToken.None
  33.            ).Result;
  34.  
  35.             UserName = Credential.UderId;
  36.  
  37.             if (Credential != null)
  38.             {
  39.                 GmailService = new GmailService(new BaseClientService.Initializer { HttpClientInitializer = Credential });
  40.                 CalendarService = new CalendarService(new BaseClientService.Initializer { HttpClientInitializer = Credential });
  41.             }
  42.         }
  43.  
  44.         public CalendarList CalendarList()
  45.         {
  46.             if (CalendarService != null)
  47.             {
  48.                 var request = CalendarService.CalendarList.List();
  49.                 var response = request.Execute();
  50.                 return response;
  51.             }
  52.  
  53.             return null;
  54.         }
  55.  
  56.         public List<Message> ListMessages(String query)
  57.         {
  58.             var result = new List<Message>();
  59.             var request = GmailService.Users.Messages.List(UserName);
  60.             request.Q = query;
  61.  
  62.             do
  63.             {
  64.                 try
  65.                 {
  66.                     var response = request.Execute();
  67.                     result.AddRange(response.Messages);
  68.                     request.PageToken = response.NextPageToken;
  69.                 }
  70.                 catch (Exception e)
  71.                 {
  72.  
  73.                 }
  74.             } while (!String.IsNullOrEmpty(request.PageToken));
  75.  
  76.             return result;
  77.         }
  78.  
  79.         public List<Message> GetMessages(List<Message> messageList, int start, int end, String query)
  80.         {
  81.             var result = new List<Message>();
  82.  
  83.             for (int s = start; s < end; s++)
  84.             {
  85.                 var request = GmailService.Users.Messages.Get(UserName, messageList[s].Id);
  86.                 var response = request.Execute();
  87.                 result.Add(response);
  88.             }
  89.  
  90.             return result;
  91.         }
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement