Holen Sie sich ein Zeichen für Conoha mit Python

Erforderlich, um verschiedene Dinge mit der offiziellen API zu tun.

Eine kleine Erklärung

Code

get_token.py


#!/usr/bin/env python

import requests
import json
import datetime
import os

class get_token:
        def __init__(self): #Initialisieren
                self.values = {"auth":{"passwordCredentials":{"username":"","password":""},"tenantId":""}}
 
        def set(self,user,passwd,tnid): #Abrufen von Benutzername, Passwort und Mandanten-ID
                self.user = user
                self.passwd = passwd
                self.tnid = tnid
 
        def getter(self): #Token-Erfassungsprozess
                get_flag = True #Initialisierung von Flags
                if os.path.exists("./my_token_expire.txt"): #Wenn Sie bereits ein Token haben, überprüfen Sie das Ablaufdatum in der Datei
                        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: #Wenn die Frist gültig ist, erhalten Sie nicht
                                        get_flag = False
                                        print 'active token'
                                else:
                                        print 'expired token'

                else:
                        print 'token file not found'


                if get_flag: #Token abrufen, wenn Flag gesetzt ist
                        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 = 'Nutzername'
        ps = 'Benutzer-Passwort'
        tenantId = 'Mieter-ID'
        token_get_main(user,ps,tenantId)

Die erfassten Daten im JSON-Format werden in "my_token.json" gespeichert, Token werden in "my_token.txt" gespeichert und Token-Ablaufdaten werden in "my_token_expire.txt" gespeichert. ..

Recommended Posts

Holen Sie sich ein Zeichen für Conoha mit Python
Wie bekomme ich Stacktrace in Python?
Holen Sie sich Datum in Python
Holen Sie sich ein Ticket für einen Themenpark mit Python
Holen Sie sich den Aufrufer einer Funktion in Python
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Holen Sie sich YouTube-Kommentare in Python
Machen Sie einen Screenshot in Python
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Holen Sie sich letzten Monat in Python
Versuchen Sie, in Python nach einem Profil mit einer Million Zeichen zu suchen
Techniken zum Sortieren in Python
Holen Sie sich die Terminalgröße in Python
Erstellen Sie ein Lesezeichen in Python
BigQuery - Wenn Sie einen Grund erhalten: responseTooLarge-Fehler in Python
Holen Sie sich explizit EOF in Python
Python: Ruft eine Liste der Methoden für ein Objekt ab
Zeichne ein Herz in Python
Holen Sie sich Evernote-Notizen in Python
Über "für _ in range ():" von Python
Proxy für Python-Pip festlegen (beschrieben in pip.ini)
Holen Sie sich japanische Synonyme mit Python
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Erstellen einer Entwicklungsumgebung für Android-Apps - Erstellen von Android-Apps mit Python
Entwickelte eine Bibliothek, um die Kindle-Sammlungsliste in Python abzurufen
So definieren Sie mehrere Variablen in einer Python for-Anweisung
Ich habe versucht "Wie man eine Methode in Python dekoriert"
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Holen Sie sich LeapMotion-Daten in Python.
Überprüfen Sie Python auf Speicherlecks
Ich bekomme einen UnicodeDecodeError mit mecab-python3
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
[Python] Verwalten Sie Funktionen in einer Liste
Suchen Sie mit Python nach externen Befehlen
Drücken Sie einen Befehl in Python (Windows)
Ich erhalte einen KeyError in pyclustering.xmeans
Holen Sie sich den Desktop-Pfad in Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
ABC166 in Python A ~ C Problem
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Holen Sie sich den Skriptpfad in Python
Erstellen Sie eine Binärdatei in Python
Löse ABC036 A ~ C mit Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Implementierung eines einfachen Algorithmus in Python 2
Holen Sie sich den Desktop-Pfad in Python
Führen Sie unittest in Python aus (für Anfänger)
Holen Sie sich den Hostnamen in Python
Löse ABC037 A ~ C mit Python
Führen Sie einen einfachen Algorithmus in Python aus
Zeichnen Sie ein CNN-Diagramm in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Beginnen Sie mit Python mit Blender
Beim Schreiben eines Programms in Python