3

Это удивительно мучительно. Нет никакой документации для нового Firebase + Python. Поэтому я пытаюсь использовать REST API, для которого требуется особый вид аутентификации.Доступ к аутентифицированным API для Firebase через REST API

enter image description here Как вы можете видеть, что они говорят, что это может быть приложения секрет (нигде не было найдено в новой консоли) или аутентификации маркера (который не документированы для питона). Если я нажму кнопку REST для проверки подлинности Я получу пример Java.

Я загрузил файл ключа JSON для учетной записи службы и попытался применить фрагменты кода, найденные в других местах, к сожалению, напрасно.

Может ли кто-нибудь дать вам подсказку о том, как это сделать?

ответ

0

Вам необходимо сгенерировать токен доступа из ключевого файла JSON учетной записи службы, используя Google API Python client library, а затем добавить его в заголовки вашего запроса.

Вот пример того, как сделать это с 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")) 

Вы можете установить библиотеку Google Python API клиента с помощью пип:

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

Я получаю ошибку 403 Отказано при попытке доступа база данных огненной базы. Согласно документам, он должен работать. Мой вопрос здесь http://stackoverflow.com/questions/40810233. я ценю вашу помощь – bibscy

Смежные вопросы