Das Firebase Admin Python SDK v2.0.0 wurde am 17. Mai 2017 veröffentlicht. Einige Aufrufmethoden waren unterschiedlich, daher habe ich es als Ergänzung hinzugefügt.
Das Firebase SDK für Python wurde am 4. April 2017 von Google veröffentlicht (ca. 4/5 am frühen Morgen in Japan). Der offizielle Name lautet "Firebase Admin Python SDK". Wie der Name schon sagt, handelt es sich um ein SDK, das APIs rund um Admin unterstützt.
Wie der Name schon sagt (zum zweiten Mal), wird die Verarbeitung rund um Admin bereitgestellt. Wenn ich jedoch die Referenz und das Handbuch lese, scheint es, dass die derzeit bereitgestellte Funktion "nur der Teil ist, der ein benutzerdefiniertes Token und ein Zugriffstoken aus dem privaten Schlüssel des Dienstkontos erstellt".
Add the Firebase Admin SDK to your Server | Firebase
Ich werde den oben beschriebenen Inhalt so verfolgen, wie er ist, aber ** Seien Sie vorsichtig, da er verstopft wird, wenn er so ist, wie er ist **.
Holen Sie sich zunächst den privaten Schlüssel. Öffnen Sie das Projekt auf der Firebase-Konsolensite (https://console.firebase.com/), gehen Sie im Menü zu Ausrüstung> Projekteinstellungen> Dienstkonto neben Übersicht und klicken Sie unten auf dem Bildschirm auf "Neuer privater Schlüssel". Klicken Sie auf die Schaltfläche "Generieren", um die JSON-Datei abzurufen.
Installieren Sie dann die erforderlichen Bibliotheken mit pip.
$ pip install firebase-admin
Der Code sieht so aus.
v1.0.0
getToken.py
import firebase_admin
from firebase_admin import credentials
def getToken:
credential = credentials.Certificate('./serviceAccountKey.json')
scopes = [
'https://www.googleapis.com/auth/firebase.database',
'https://www.googleapis.com/auth/userinfo.email'
]
# access_Bekomme Token
accessTokenInfo = credential.get_credential().create_scoped(scopes).get_access_token()
print("access_token:" + accessTokenInfo.access_token)
print("expire:" + str(accessTokenInfo.expires_in))
if __name__ == '__main__':
getToken()
Der Unterschied zum offiziellen Dokument besteht darin, dass Sie den Bereich ohne Verwendung von "firebase_admin.initialize_app ()" auf "kritisch" setzen und das AccessToken so wie es ist erhalten können.
v2.0.0
getToken.py
import firebase_admin
from firebase_admin import credentials
def getToken:
credential = credentials.Certificate('./serviceAccountKey.json')
# access_Bekomme Token
accessTokenInfo = credential.get_access_token()
print("access_token:" + accessTokenInfo.access_token)
print("expire:" + str(accessTokenInfo.expiry)) # 「20XX-XX-XX XX:XX:XX.XXXXXX "wird zurückgegeben
if __name__ == '__main__':
getToken()
Der Unterschied zu Version 1.0.0 besteht darin, dass Sie die Anmeldeinformationen nicht mehr einmal mit "get_credential ()" abrufen oder den Bereich festlegen müssen. Während der Inhalt des Ablaufdatums die Anzahl der in Version 1.0.0 verbleibenden Sekunden war, lautet der Eigenschaftsname ab Version 2.00.0 "Ablaufdatum" und das verfügbare Ablaufdatum wird als Datum / Uhrzeit-Objekt zurückgegeben. Ich werde.
Wenn Sie es mit RealtimeDatabase verwenden, können Sie darauf zugreifen, indem Sie es in den Parameter access_token
eingeben. Da dieses AccessToken von einem Dienstkonto erstellt wird, ist es möglich zu lesen und zu schreiben, auch wenn alle Benutzer in den Regeln der Datenbank falsch sind. Seien Sie also vorsichtig, wenn Sie damit umgehen. ** Das Ablaufdatum des Tokens beträgt übrigens eine Stunde ab Ausstellung.
https://{FIREBASE_PROJECT_ID}.firebaseio.com/hoge.json?access_token={FIREBASE_ACCESS_TOKEN}
Ich frage mich, ob Sie CustomToken auf die gleiche Weise erhalten können, aber es ist immer noch nicht verifiziert, da es nicht mehr das ist, was Sie benötigen, wenn Sie AccessToken korrekt erhalten.
Recommended Posts