Nécessaire pour faire diverses choses en utilisant l '[API] officielle (https://www.conoha.jp/docs/)
get_token.py
#!/usr/bin/env python
import requests
import json
import datetime
import os
class get_token:
def __init__(self): #Initialisation
self.values = {"auth":{"passwordCredentials":{"username":"","password":""},"tenantId":""}}
def set(self,user,passwd,tnid): #Obtention du nom d'utilisateur, du mot de passe, de l'ID du locataire
self.user = user
self.passwd = passwd
self.tnid = tnid
def getter(self): #Processus d'acquisition de jetons
get_flag = True #Initialisation des drapeaux
if os.path.exists("./my_token_expire.txt"): #Si vous avez déjà un token, vérifiez la date d'expiration dans le fichier
with open('my_token_expire.txt','r') as f:
tk_ex = f.read()
tk_ex = tk_ex.replace("T"," ")
tk_ex = tk_ex.replace("Z","")
tk_ex_time = datetime.datetime.strptime(tk_ex, '%Y-%m-%d %H:%M:%S')
today = datetime.datetime.utcnow()
if today < tk_ex_time: #Si la date limite est valide, n'obtenez pas
get_flag = False
print 'active token'
else:
print 'expired token'
else:
print 'token file not found'
if get_flag: #Obtenir un jeton si l'indicateur est défini
url = 'https://identity.tyo1.conoha.io/v2.0/tokens'
self.values["auth"]["passwordCredentials"]["username"]=self.user
self.values["auth"]["passwordCredentials"]["password"]=self.passwd
self.values["auth"]["tenantId"]=self.tnid
head = {'Accept':'application/json'}
r = requests.post(url,data=json.dumps(self.values),headers=head)
with open('my_token.json','w') as f:
f.write(r.text)
f.flush()
with open('my_token.json','r') as f:
jsonData = json.loads(f.read())
with open('my_token.txt','w') as f:
f.write(jsonData["access"]["token"]["id"])
f.flush()
print 'write token'
with open('my_token_expire.txt','w') as f:
f.write(jsonData["access"]["token"]["expires"])
f.flush()
print 'expires='+jsonData["access"]["token"]["expires"]
def token_get_main(user,passwd,tenantId):
token_get = get_token()
token_get.set(user,passwd,tenantId)
token_get.getter()
if __name__ == '__main__':
user = 'Nom d'utilisateur'
ps = 'Mot de passe de l'utilisateur'
tenantId = 'ID du locataire'
token_get_main(user,ps,tenantId)
Les données au format JSON acquises sont enregistrées dans
my_token.json```, les jetons sont enregistrés dans my_token.txt` '' et les dates d'expiration des jetons sont enregistrées dans
my_token_expire.txt
..
Recommended Posts