Enregistrer les utilisateurs avec le SDK d'administration Google (python)

introduction

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.

Ce que vous devez faire avant d'écrire du code

Enregistrement du projet

Créez un projet avec un nom approprié à partir de la Developer Console. プロジェクトの登録.png

Revenez au tableau de bord, sélectionnez le projet que vous avez créé et ajoutez l'API. APIを有効にする.png

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" AdminSDK1.png

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.

Code réel

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. 許可リスエスト.png

référence

G Suite Admin SDK Directory API

Recommended Posts

Enregistrer les utilisateurs avec le SDK d'administration Google (python)
Étudiez Python avec Google Colaboratory
Accédez à Google Drive avec Python
Essayez d'utiliser Python avec Google Cloud Functions
Travailler avec OpenStack à l'aide du SDK Python
[GCP] Exploitez Google Cloud Storage avec Python
Touchez des robots virtuels avec le SDK Python de Pepper
[Suite] Essayez l'accès au registre PLC avec Python
Télécharger des images sur Google Drive avec Python
FizzBuzz en Python3
Sortie CSV de la recherche Google avec [Python]! 【Facile】
Grattage avec Python
Jouez avec Google Spread Sheet avec Python (OAuth)
Grattage avec Python
Python avec Go
Essayez d'exécuter Google Chrome avec Python et Selenium
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
Télécharger des fichiers sur Google Drive avec Lambda (Python)
[Python] Dépannage avant d'accéder à Google Spreadsheet avec gspread
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Divers mémorandums lors de l'utilisation du sdk de l'API de messagerie LINE avec Python (2.7.9) + Google App Engine
Provisionnement de flotte avec AWS IoT SDK for Python v2
Un moyen facile de gratter avec Python en utilisant Google Colab
Enregistrez des tickets avec l'API de Redmine en utilisant des requêtes Python
Premiers pas avec Google App Engine pour Python et PHP
Communication série avec Python
Authentifier Google avec Django
Zip, décompressez avec python
Django 1.11 a démarré avec Python3.6
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Essayez de gratter avec Python.
Apprendre Python avec ChemTHEATER 03
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Manipuler yaml avec python
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprendre Python avec ChemTHEATER 05-1
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
1.1 Premiers pas avec Python
Collecter des tweets avec Python
Binarisation avec OpenCV / Python
3. 3. Programmation IA avec Python
Méthode Kernel avec Python
Grattage avec Python + PhantomJS