Je gérais des utilisateurs à l'aide de GSuite (GoogleApps) et je devais saisir une grande quantité de données. J'ai souvent vu des articles tels que la lecture de données dans le didacticiel, mais il n'y avait pas beaucoup d'articles sur l'inscription, donc j'écrirai un article si cela peut aider.
Créez un projet avec un nom approprié à partir de la Developer Console.
Revenez au tableau de bord, sélectionnez le projet que vous avez créé et ajoutez l'API.
Veuillez activer "Admin SDK" et créer une clé d'authentification. --Créez des informations d'identification avec OAuth --Type d'application: entrez le nom de manière appropriée dans "Autre"
Une clé d'authentification sera créée et affichée dans la liste. Téléchargez-la et enregistrez-la dans un emplacement approprié. (Dans l'exemple de code: enregistrez-le sous "client_secret_test.jso.json" sous [votre répertoire personnel] /.test_secrets/)
Presque prêt à travailler.
create.rb
# -*- coding: utf-8 -*-
import os
import httplib2
from apiclient import discovery
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage
def main():
try:
import argparse
parser = argparse.ArgumentParser(parents=[tools.argparser])
flags = parser.parse_args()
except ImportError:
flags = None
#Répertoire de stockage des informations d'identification ".réglage "crédits". Créer si le répertoire n'existe pas
credential_dir = os.path.join(os.path.expanduser('~'), '.test_credentials')
if not os.path.exists(credential_dir):
os.makedirs(credential_dir)
#Définissez et lisez le chemin du fichier d'authentification
credential_path = os.path.join(credential_dir, 'admin-directory_v1_test.json')
store = Storage(credential_path)
credentials = store.get()
#Créer s'il n'y a pas de fichier d'authentification
if not credentials or credentials.invalid:
#Définir la gamme de fonctions à utiliser
scopes = [
'https://www.googleapis.com/auth/admin.directory.user',
]
#Réglage de la clé d'authentification
secret_dir = os.path.join(os.path.expanduser('~'), '.test_secrets')
if not os.path.exists(secret_dir):
os.makedirs(secret_dir)
#Générer une instance d'une classe qui effectue le traitement d'authentification à partir de la clé d'authentification
flow = client.flow_from_clientsecrets(
os.path.join(secret_dir, 'client_secret_test.json'), scopes)
#Nom de l'application
flow.user_agent = 'User register Test Tool'
if flags:
credentials = tools.run_flow(flow, store, flags)
else: # Python 2.6 Traitement de compatibilité
credentials = tools.run(flow, store)
print('J'ai enregistré le certificat:' + credential_path)
#Authentifier
http = credentials.authorize(httplib2.Http())
app_admin_service = discovery.build('admin', 'directory_v1', http=http)
#Créer des informations utilisateur pour créer
register_data = {
'primaryEmail':'[email protected]',
'name':{
'givenName':'Taro',
'familyName':'Yamada',
},
'suspended':False, #Ne mettez pas le compte suspendu
'password':'p-a-s-s-w-o-r-d',
}
#Exécution de l'inscription
results = app_admin_service.users().insert(body=register_data).execute()
if(int(results['id']) > 0):
print("Créez un compte Google!")
else:
print("Échec de la création du compte Google")
if __name__ == '__main__':
main()
Lorsque vous exécutez le programme, le navigateur se lance et une autorisation vous est demandée. Cliquez sur OK pour l'exécuter.
G Suite Admin SDK Directory API
Recommended Posts