Автоматическое обновление токена с помощью Admin SDK PythonPython

Программы на Python
Ответить
Anonymous
 Автоматическое обновление токена с помощью Admin SDK Python

Сообщение Anonymous »

Я создал простой сервис REST, используя FastAPI + Admin SDK (firebase_admin).

Код: Выделить всё

import os
import firebase_admin
from firebase_admin import credentials, messaging
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from dotenv import load_dotenv

load_dotenv()
cred = credentials.Certificate(os.getenv("GOOGLE_APPLICATION_CREDENTIALS"))
firebase_admin.initialize_app(cred)

app = FastAPI()

class PushNotificationModel(BaseModel):
title: str
body: str
token: str

def send_push_notification(title: str, body: str, token: str) -> str:
try:
message = messaging.Message(
notification=messaging.Notification(title=title, body=body), token=token
)
response = messaging.send(message)
return response
except Exception as e:
raise HTTPException(
status_code=500, detail=f"Error sending push notification: {str(e)}"
)

@app.post("/send-push/")
async def send_push(notification: PushNotificationModel):
response = send_push_notification(
title=notification.title, body=notification.body, token=notification.token
)
return {"message": "Push notification sent", "response": response}

А также создал скрипт, который отправляет POST-запрос на мой REST для отправки push на устройство с использованием его токена.

Код: Выделить всё

import requests

def send_test_push():
url = "http://localhost:8000/send-push/"
data = {
"title": "Test title",
"body": "Test body",
"token": "bla-bla-bla",
}
response = requests.post(url, json=data)
print(response.json())

if __name__ == "__main__":
send_test_push()

Я использую новейшую версию Google Firebase Messaging и прочитал это. Должен ли я попытаться обновить токен доступа, когда срок его действия истечет, используя токен обновления? Когда я читаю, Admin SDK может делать это автоматически.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/791 ... sdk-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»