private bool AddDomain(UserCredential userCredential, string domainName, string newDomainName) { try { var service = new DirectoryService(new BaseClientService.Initializer() { HttpClientInitializer = userCredential, ApplicationName = AppName, }); UsersResource.ListRequest listrequest = service.Users.List(); listrequest.Domain = domainName; listrequest.MaxResults = 10; IList <User> users = listrequest.Execute().UsersValue; string custID = string.Empty; if (users != null && users.Count > 0) { custID = users[0].CustomerId; } Domains domain = new Domains() { DomainName = newDomainName }; DomainsResource.InsertRequest insReq = service.Domains.Insert(domain, custID); var insResp = insReq.Execute(); } catch (Exception) { } return(true); }
static void Main(string[] args) { try { UserCredential credential; // Load client secrets. using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read)) { /* The file token.json stores the user's access and refresh tokens, and is created * automatically when the authorization flow completes for the first time. */ string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.FromStream(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } // Create Directory API service. var service = new DirectoryService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = ApplicationName }); // Define parameters of request. UsersResource.ListRequest request = service.Users.List(); request.Customer = "my_customer"; request.MaxResults = 10; request.OrderBy = UsersResource.ListRequest.OrderByEnum.Email; // List users. IList <User> users = request.Execute().UsersValue; Console.WriteLine("Users:"); if (users == null || users.Count == 0) { Console.WriteLine("No users found."); return; } foreach (var userItem in users) { Console.WriteLine("{0} ({1})", userItem.PrimaryEmail, userItem.Name.FullName); } } catch (FileNotFoundException e) { Console.WriteLine(e.Message); } }
private static DirectoryService Request(DirectoryService service) { // Request creation userList = service.Users.List(); userList.Customer = "my_customer"; userList.OrderBy = UsersResource.ListRequest.OrderByEnum.Email; // Executing request users = userList.Execute().UsersValue; usersize = users.Count; return(service); }
static void Main(string[] args) { UserCredential credential; using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read)) { string credPath = System.Environment.GetFolderPath( System.Environment.SpecialFolder.Personal); credPath = Path.Combine(credPath, ".credentials/admin-directory_v1-dotnet-quickstart.json"); credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } // Create Directory API service. var service = new DirectoryService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); // Define parameters of request. UsersResource.ListRequest request = service.Users.List(); request.Customer = "my_customer"; request.MaxResults = 10; request.OrderBy = UsersResource.ListRequest.OrderByEnum.Email; // List users. IList <User> users = request.Execute().UsersValue; Console.WriteLine("Users:"); if (users != null && users.Count > 0) { foreach (var userItem in users) { Console.WriteLine("{0} ({1})", userItem.PrimaryEmail, userItem.Name.FullName); } } else { Console.WriteLine("No users found."); } Console.Read(); }
public DirectoryQuickstart() { UserCredential credential; using (var stream = new System.IO.FileStream("credentialsDirectory.json", System.IO.FileMode.Open, System.IO.FileAccess.Read)) { // The file token.json stores the user's access and refresh tokens, and is created // automatically when the authorization flow completes for the first time. string credPath = "tokenDirectory.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "*****@*****.**", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } // Create Directory API service. var service = new DirectoryService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); // Define parameters of request. UsersResource.ListRequest request = service.Users.List(); request.Customer = "my_customer"; request.MaxResults = 10; request.OrderBy = UsersResource.ListRequest.OrderByEnum.Email; // List users. IList <User> users = request.Execute().UsersValue; Console.WriteLine("Users:"); if (users != null && users.Count > 0) { foreach (var userItem in users) { Console.WriteLine("{0} ({1})", userItem.PrimaryEmail, userItem.Name.FullName); } } else { Console.WriteLine("No users found."); } Console.Read(); }
/// <summary> /// Used to get a specific directory user. /// Note that if multiple users match the given parameters then the first one is returned. /// </summary> /// <param name="query">The query to user to get the list of users. See the Directory API docs for supported syntax</param> /// <param name="email">The email of the user to find</param> /// <param name="userID">The ID of the user to get</param> /// <returns>The requested directory user</returns> public GoogleAdminDirectoryData.User GetDirectoryUser(string query = null, string email = null, string userID = null) { // Get the Directory service DirectoryService service = GetDirectoryService(); // If a user ID has been specified, then we can get the user directly GoogleAdminDirectoryData.User user = null; if (userID != null) { user = service.Users.Get(userID).Execute(); } else { // Initialise the given query if needed if (query == null) { query = ""; } // If an email has been supplied, then add it to the current query if (email != null) { // If the query isn't empty then add an 'and' before the email query if (query.Length > 0) { query += " and "; } // Add the given email to the query query += "email='" + email + "'"; } // Create the list users request to locate the given user UsersResource.ListRequest listRequest = service.Users.List(); listRequest.Domain = DirectoryServices_Domain; listRequest.Query = query; listRequest.MaxResults = 1; // Get the list of users GoogleAdminDirectoryData.Users users = listRequest.Execute(); // Get the first returned user if possible if (users != null && users.UsersValue != null && users.UsersValue.Count > 0) { user = users.UsersValue[0]; } } return(user); }
/// <summary> /// Used to get a list of users from the Directory API. /// </summary> /// <param name="query">The query to use to get the list of users. See the Directory API docs for supported syntax</param> /// <param name="maxUsers">The maximum number of users that can be returned from the request</param> /// <returns>The list of requested users</returns> public GoogleAdminDirectoryData.Users GetDirectoryUsers(string query = "", int maxUsers = 100) { // Get the Directory service DirectoryService service = GetDirectoryService(); // Prepare the list request UsersResource.ListRequest listRequest = service.Users.List(); listRequest.Domain = DirectoryServices_Domain; listRequest.Query = query; listRequest.MaxResults = maxUsers; // Get the list of users GoogleAdminDirectoryData::Users users = listRequest.Execute(); return(users); }
public async static Task <Users> GetOrgUnits2(UserCredential credential, string userid) { var service = new DirectoryService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = "UbiGrade" }); UsersResource.ListRequest request = service.Users.List(); request.Customer = "my_customer"; request.MaxResults = 10; request.OrderBy = UsersResource.ListRequest.OrderByEnum.Email; // List users. IList <User> users = request.Execute().UsersValue; var x = await request.ExecuteAsync(); return(x); }
public static void Main(string[] args) { //Service account Email //NOTE: This is the account for the Service Client string serviceAccountEmail = "*****@*****.**"; //Path to Downloaded Key var path = @"Path\To\key.p12"; //Generate a Certificate using the Key downloaded from the Api Console var certificate = new X509Certificate2(path, "notasecret", X509KeyStorageFlags.Exportable); //Create the Credential ServiceAccountCredential serviceCredential = new ServiceAccountCredential( new ServiceAccountCredential.Initializer(serviceAccountEmail) { //Define the Scopes You want the credential to Access Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser, }, //Specify the User that this service Credential is Impersonating. Typically your Google Apps Admin Account User = "******" }.FromCertificate(certificate)); //Instantiate the Service (Could be any of the Google Api Services) var service = new DirectoryService(new BaseClientService.Initializer() { HttpClientInitializer = serviceCredential, }); // Define parameters of request. UsersResource.ListRequest request = service.Users.List(); //Set the Domain of the Request request.Domain = "domain.com"; // List users. var users = request.Execute().UsersValue; users.Select(u => u.PrimaryEmail).ToList().ForEach(Console.WriteLine); Console.ReadKey(); }
public IHttpActionResult AddDomain(string newdomainprefix) { try { string domainName = "blackteatest.in"; string newDomainName = newdomainprefix + "." + domainName; var service = new DirectoryService(new BaseClientService.Initializer() { HttpClientInitializer = AppFlowMetadata.UserCredential, ApplicationName = AppFlowMetadata.AppName, }); UsersResource.ListRequest listrequest = service.Users.List(); listrequest.Domain = domainName; listrequest.MaxResults = 10; IList <User> users = listrequest.Execute().UsersValue; string custID = string.Empty; if (users != null && users.Count > 0) { custID = users[0].CustomerId; } Domains domain = new Domains() { DomainName = newDomainName }; DomainsResource.InsertRequest insReq = service.Domains.Insert(domain, custID); var insResp = insReq.Execute(); } catch (Exception) { } return(Ok()); }
static void Main(string[] args) { bool show_help = false; string domain = ""; string pathRazorTemplate = ""; string pathSecretFile = "client_secret.json"; string user = ""; var p = new OptionSet() { { "d|domain=", "the domain where you'll change the signatures.", v => domain = v }, { "t|template=", "the file path of the razor template that will used.", v => pathRazorTemplate = v }, { "s|secret=", "the file with the secret from Google console.", v => pathSecretFile = v }, { "u|user="******"an specific user to apply the signature.", v => user = v }, { "a|all", "apply the signature to every user form the domain.", v => { if (v != null) { user = ""; } } }, { "h|help", "show this message and exit", v => show_help = v != null }, }; List <string> extra; try { extra = p.Parse(args); } catch (OptionException e) { Console.Write("Error: "); Console.WriteLine(e.Message); Console.WriteLine("Try --help for more information."); return; } if (show_help) { ShowHelp(p); return; } UserCredential credential = GetCredentials(pathSecretFile); var service = new DirectoryService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); IList <User> users = new List <User>(); if (!string.IsNullOrWhiteSpace(user)) { users.Add(service.Users.Get(user).Execute()); } else { UsersResource.ListRequest request = service.Users.List(); request.Domain = domain; request.Projection = UsersResource.ListRequest.ProjectionEnum.Full; users = request.Execute().UsersValue; } OAuth2Parameters parameter = new OAuth2Parameters() { AccessToken = credential.Token.AccessToken }; var requestFactory = new GOAuth2RequestFactory("apps", ApplicationName, parameter); var serviceGmail = new GoogleMailSettingsService("revolute.academy", ApplicationName); serviceGmail.RequestFactory = requestFactory; Console.WriteLine("Users:"); if (users != null) { foreach (var userItem in users) { if (userItem.IsMailboxSetup.HasValue && userItem.IsMailboxSetup.Value) { var signature = Render.Execute(pathRazorTemplate, userItem); var userName = GetUser(userItem.PrimaryEmail); dynamic obj = userItem.Organizations; serviceGmail.UpdateSignature(userName, signature); Console.WriteLine("New signature for {0}", userName); } } } else { Console.WriteLine("No users found."); } Console.WriteLine("Signatures updated"); }