[−][src]Crate gsuite_api
A rust library for interacting with the GSuite APIs.
For more information, the GSuite Directory API is documented at developers.google.com/admin-sdk/directory/v1/reference and the Google Groups settings API is documented at developers.google.com/admin-sdk/groups-settings/v1/reference/groups.
Example:
use std::env; use gsuite_api::GSuite; use yup_oauth2::{read_service_account_key, ServiceAccountAuthenticator}; async fn get_users() { // Get the GSuite credentials file. let gsuite_credential_file = env::var("GADMIN_CREDENTIAL_FILE").unwrap(); let gsuite_subject = env::var("GADMIN_SUBJECT").unwrap(); let gsuite_secret = read_service_account_key(gsuite_credential_file) .await .expect("failed to read gsuite credential file"); let auth = ServiceAccountAuthenticator::builder(gsuite_secret) .subject(gsuite_subject.to_string()) .build() .await .expect("failed to create authenticator"); // Add the scopes to the secret and get the token. let token = auth.token(&[ "https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.resource.calendar", "https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/apps.groups.settings", ]).await.expect("failed to get token"); if token.as_str().is_empty() { panic!("empty token is not valid"); } // Initialize the GSuite client. let gsuite_client = GSuite::new("customer_id", "domain", token); // List users. let users = gsuite_client.list_users().await; // Iterate over the users. for user in users { println!("{:?}", user); } }
Structs
Building | A building. |
BuildingAddress | A building's address. |
BuildingCoordinates | A building's coordinates. |
CalendarFeature | A feature of a calendar. |
CalendarFeatures | A calendar's features. |
CalendarResource | A calendar resource. |
GSuite | Entrypoint for interacting with the GSuite APIs. |
Group | A Google group. |
GroupSettings | A Google group's settings. |
User | A user. |
UserCustomProperties | Custom properties for a user. |
UserEmail | A user's email. |
UserGender | A user's gender. |
UserLocation | A user's location. |
UserName | A user's name. |
UserPhone | A user's phone. |
UserSSHKey | A user's ssh key. |
Functions
generate_password | Generate a random string that we can use as a temporary password for new users when we set up their account. |