static void ConnectDirectoryService() { Console.WriteLine("*********************BEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEPP***********************"); Console.WriteLine("******************************Google Service Bot*********************************"); var gApiServiceFactory = new GoogleServiceFactory(); gApiServiceFactory.Parameters = new GoogleServiceParameter { AccountAdminUser = "******", AccountEmail = "*****@*****.**", ApplicationName = "G-App Services", AccountFilePath = "json_path", ApiScopes = new string[] { DirectoryService.Scope.AdminDirectoryUser }, CredentialType = CredentialTypeEnum.JSON }; Console.WriteLine("User name to search: "); var userName = Console.ReadLine(); Console.Write(Environment.NewLine); Console.WriteLine("JSON"); var directoryService = gApiServiceFactory.CreateServiceObject <DirectoryService>(); var usersListRequest = directoryService.Users.Get(userName); var usersListResult = usersListRequest.Execute(); Console.Write(Environment.NewLine); Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(usersListResult)); Console.Write(Environment.NewLine); Console.WriteLine("P12"); Console.Write(Environment.NewLine); gApiServiceFactory.Parameters.CredentialType = CredentialTypeEnum.P12; gApiServiceFactory.Parameters.AccountFilePath = "p12_path"; directoryService = gApiServiceFactory.CreateServiceObject <DirectoryService>(); usersListRequest = directoryService.Users.Get(userName); usersListResult = usersListRequest.Execute(); Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(usersListResult)); Console.ReadKey(); }
// If modifying these scopes, delete your previously saved credentials // at ~/.credentials/gmail-dotnet-quickstart.json static void Main(string[] args) { try { ILogger logger = new LoggerConfiguration() .MinimumLevel.Verbose() .WriteTo.LiterateConsole() .WriteTo.RollingFile("logs/log.txt") .CreateLogger(); Settings settings = LoadSettings(args); logger.Verbose("{@settings}", settings); //setup our DI var serviceProvider = new ServiceCollection() .AddSingleton <EmailProcessorFactory>() .AddSingleton(sp => settings) .AddSingleton(GoogleServiceFactory.CreateGmailService()) .AddSingleton <GmailClient>() .AddSingleton <CalendarClient>() .AddSingleton(GoogleServiceFactory.CreateGmailService()) .AddSingleton(GoogleServiceFactory.CreateCalendarService()) .AddSingleton(logger) .AddSingleton(sp => new CalendarSyncJob( sp.GetService <GmailClient>(), sp.GetService <EmailProcessorFactory>(), sp.GetService <ILogger>())) .BuildServiceProvider(); JobManager.JobFactory = new JobFactory(serviceProvider); JobManager.JobException += (log) => logger.Error(log.Exception, "{message} \n\n\n {stackTrace}", log.Exception.Message, log.Exception.StackTrace); JobManager.Initialize(new JobRegistry(settings.FetchIntervalInHours)); } catch (Exception ex) { Console.Error.WriteLine($"{ex.Message}\n\n{ex.StackTrace}"); throw; } Console.ReadLine(); }