3

Dies ist überraschend qualvoll. Für das neue Firebase + Python gibt es keinerlei Dokumentation. Ich versuche also, die REST-API zu verwenden, die eine spezielle Art der Authentifizierung benötigt.Authentifizierter API-Zugriff auf Firebase über REST API

enter image description here Wie Sie sehen können, sagen sie es die App Geheimnis sein könnte oder die Authentifizierungstoken (die für Python ist nicht dokumentiert) (nirgendwo in der neuen Konsole gefunden werden). Wenn ich auf die REST-Authentifizierungsdokumentation klicke, bekomme ich ein Java-Beispiel.

Ich habe die JSON-Schlüsseldatei für das Dienstkonto heruntergeladen und versucht, Code an anderen Orten gefunden, leider umsonst.

Kann jemand einen Hinweis geben, wie man damit fortfährt?

Antwort

0

Sie müssen ein Zugriffstoken aus der JSON-Schlüsseldatei des Dienstkontos mithilfe von Google API Python client library erstellen und dann den Kopfzeilen Ihrer Anforderung hinzufügen.

Hier ist ein Beispiel dafür, wie es zu tun mit requests

from oauth2client.service_account import ServiceAccountCredentials 
import requests 
import json 
import httplib2 

scopes = [ 
    'https://www.googleapis.com/auth/firebase', 
    'https://www.googleapis.com/auth/userinfo.email', 
    "https://www.googleapis.com/auth/cloud-platform" 
] 

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    '/pathto/json_file.json', scopes) 

headers = {"content-type": "application/json; charset=UTF-8"} 
headers['Authorization'] = 'Bearer ' + credentials.get_access_token().access_token 

firebase_url = "https://docs-examples.firebaseio.com/rest/saving-data/fireblog/users/alanisawesome/name.json" 

data = { 
    "name": "Alan Turing", 
    "birthday": "June 23, 1912"} 

requests.put(firebase_url, headers=headers, data=json.dumps(data).encode("utf-8")) 

Sie können die Google-Python-API-Client-Bibliothek installieren mit pip:

pip install --upgrade google-api-python-client 
+0

ich Fehler 403 Zugriff verweigert, wenn ich versuchen, zuzugreifen Firebase-Datenbank. Laut den Unterlagen sollte es funktionieren. Meine Frage ist hier http://stackoverflow.com/questions/40810233. Ich schätze Ihre Hilfe – bibscy

Verwandte Themen