Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Notas de la versión de Firebase Admin Python SDK

Para revisar las notas de la versión para la consola de Firebase y para otras plataformas de Firebase y SDK relacionados, consulte las Notas de la versión de Firebase .

Versión 4.3.0 - 14 de mayo de 2020

Autenticación

  • Se get_users() API get_users() y delete_users() para recuperar y eliminar cuentas de usuario en masa.

Versión 4.2.0 - 30 de abril de 2020

Autenticación

  • Se agregó un nuevo módulo tenant_mgt que proporciona API para crear, actualizar, recuperar y eliminar inquilinos de autenticación.
  • Se agregó una nueva función tenant_mgt.auth_for_tenant() que devuelve un objeto de cliente con alcance a un inquilino específico para realizar operaciones de administración de usuarios con conocimiento del inquilino.
  • Se agregó el tipo auth.OIDCProviderConfig y funciones relacionadas para crear, recuperar, actualizar y eliminar configuraciones de proveedor de autenticación OIDC.
  • Se agregó el tipo auth.SAMLProviderConfig y funciones relacionadas para crear, recuperar, actualizar y eliminar configuraciones de proveedor de autenticación SAML.

Versión 4.1.0 - 21 de abril de 2020

Firebase ML

  • Se agregó un nuevo módulo ml para crear, actualizar, obtener, enumerar, publicar, anular la publicación y eliminar modelos de ML personalizados alojados en Firebase. Consulte la documentación de Firebase para obtener más información sobre cómo usar el SDK de administración para administrar modelos de ML.

Versión 4.0.1 - 26 de marzo de 2020

Mensajería en la nube

  • Devolver mensajes de error más descriptivos de las API de administración de temas.

Base de datos en tiempo real

  • Se corrigió una regresión en la API listen() que impedía su uso en la versión v4.0.0.

Versión 4.0.0 - 24 de febrero de 2020

  • Python 2 y 3.4 ya no son compatibles. Los desarrolladores deben usar Python 3.5 o superior cuando usen Python Admin SDK.
  • Se actualizó la dependencia de cachecontrol a la última disponible.
  • El SDK de administrador ahora establece un tiempo de espera predeterminado de 120 segundos en todas las solicitudes HTTP salientes.

Mensajería en la nube

  • La clase AndroidNotification ahora formatea correctamente el campo event_time enviado al servicio Firebase Cloud Messaging.
  • Se corrigió un mensaje de error incorrecto registrado por el módulo de messaging al llamar a las API de envío por lotes.

Versión 3.2.1 - 11 de diciembre de 2019

Mensajería en la nube

  • Los parámetros booleanos en AndroidNotification ahora están codificados correctamente.

Versión 3.2.0 - 13 de noviembre de 2019

Mensajería en la nube

  • Se agregó una serie de nuevos parámetros a la clase AndroidNotification que permiten una mayor personalización de las notificaciones que se dirigen a dispositivos Android.
  • Las API de mensajería por lotes send_all() y send_multicast() ahora admiten el envío de hasta 500 mensajes en una sola llamada.

Versión 3.1.0 - 23 de octubre de 2019

Autenticación

  • Se auth.InsufficientPermissionError tipo auth.InsufficientPermissionError para representar operaciones que fallan debido a que la credencial carece de un permiso requerido.
  • Las API de administración de usuarios ahora auth.EmailAlreadyExistsError correctamente auth.EmailAlreadyExistsError cuando se especifica una dirección de correo electrónico ya en uso para un usuario.

Mensajería en la nube

  • Message clase de Message ahora implementa el __str__() que se puede usar para obtener una representación de cadena de una instancia de Message .

Versión 3.0.0 - 11 de septiembre de 2019

  • El soporte de Python 2.7 ahora está en desuso. Se recomienda a los desarrolladores que usen Python 3.4 o superior para ejecutar el SDK de administración.
  • Se eliminaron los antiguos tipos de excepción de nivel de módulo auth.AuthError , db.ApiCallError , messaging.ApiCallError , instance_id.ApiCallError y project_management.ApiCallError .
  • Se agregó un nuevo módulo de exceptions que define los tipos de excepción base para todo el SDK. Las API públicas ahora generan excepciones definidas en el nuevo módulo de exceptions (o subtipos de ellas). Esto facilita la implementación de la lógica de manejo de errores de grano fino para una amplia gama de escenarios que antes no era compatible. Consulte la guía de migración para obtener instrucciones sobre cómo portar su código de manejo de errores existente.
  • Se actualizó la versión de dependencia de google-cloud-firestore firestore a 1.14.0.
  • Se actualizó la versión de dependencia de google-cloud-storage a 1.18.0.

Gestión de proyectos

  • IosApp , IosAppMetadata y ShaCertificate en el módulo project_management se han renombrado a IOSApp , IOSAppMetadata y SHACertificate respectivamente.

Autenticación

  • Ya no es posible eliminar las propiedades del usuario con la API update_user() estableciendo las propiedades en None . Establecer propiedades en None deja esas propiedades sin cambios. Deben establecerse explícitamente en auth.DELETE_ATTRIBUTE para eliminarlos.

Mensajería en la nube

  • Se agregó soporte para enviar una URL de imagen en las notificaciones. Gracias cchamm por la contribución .

  • Se ha eliminado el tipo obsoleto de WebpushFcmOptions . Los desarrolladores deben usar el nombre de tipo compatible con PEP8 WebpushFCMOptions en WebpushFCMOptions lugar.

Versión 2.18.0 - 21 de agosto de 2019

Mensajería en la nube

  • El tipo WebpushFcmOptions ahora está en desuso. Los desarrolladores deben usar el nombre de tipo compatible con PEP8 WebpushFCMOptions en WebpushFCMOptions lugar.

  • Se agregó soporte para especificar la etiqueta de Analytics para notificaciones. Gracias willawang8908 por la contribución .

  • Se agregó soporte para pares arbitrarios de clave-valor en la messaging.ApsAlert . Gracias viktorasl por la contribución .

Base de datos en tiempo real

  • Los desarrolladores ahora pueden probar las llamadas de la API de base de datos en tiempo real dirigiendo el tráfico del SDK al emulador RTDB. Establezca la variable de entorno FIREBASE_DATABASE_EMULATOR_HOST para especificar el punto final del emulador en host:port formato de host:port .

Versión 2.17.0 - 23 de mayo de 2019

Firebase Cloud Messaging

Autenticación

  • Una nueva constante auth.DELETE_ATTRIBUTE que se puede usar con la API update_user() para eliminar ciertos atributos de las cuentas de usuario. Esta es ahora la forma preferida para eliminar atributos como display_name , photo_url y custom_claims .

Versión 2.16.0 - 21 de febrero de 2019

  • Admin SDK ahora reintenta automáticamente las solicitudes HTTP en todos los errores 500 y 503, independientemente del método HTTP.
  • Admin SDK ya no agrupa el módulo de integration en el artefacto de lanzamiento.

Autenticación

  • Se agregaron las API de generación de enlaces de acción de correo electrónico para crear enlaces para restablecer contraseña, verificación de correo electrónico e inicio de sesión de enlace de correo electrónico. Consulte la documentación para obtener más detalles y ejemplos de código. Gracias hardikns por la contribución .
  • La API de administración de usuarios ahora usa la nueva API REST de Google Identity Toolkit. Gracias hardikns por la contribución .

Versión 2.15.1 - 23 de enero de 2019

  • Se implementaron reintentos HTTP. El SDK ahora reintenta automáticamente las llamadas HTTP en la conexión de bajo nivel y los errores de lectura de socket, así como los errores HTTP 500 y 503.

Versión 2.15.0 - 16 de enero de 2019

  • Soporte eliminado para Python 3.3. Los desarrolladores en Python 3 deben usar 3.4 o superior. El soporte para Python 2.7 no ha cambiado.
  • Se declaró una dependencia directa en google-api-core[grpc] para resolver algunos problemas de instalación de Firestore de larga data.

Mensajería en la nube

Versión 2.14.0 - 04 de diciembre de 2018

  • Una nueva API project_management para administrar aplicaciones en un proyecto de Firebase.
  • Nuevos list_android_apps() y list_ios_apps() para enumerar las aplicaciones existentes en un proyecto.
  • Nuevos create_android_app() y create_ios_app() para crear nuevas aplicaciones en un proyecto.
  • Nuevas API de AndroidApp e IosApp para actualizar aplicaciones individuales.

Base de datos en tiempo real

  • Se db.listen() un problema de rendimiento en la API db.listen() donde se tardaba mucho en procesar grandes nodos RTDB.
  • Se corrigió cómo el SDK maneja caracteres especiales en los nombres de nodo.

Mensajería en la nube

  • messaging.AndroidNotification type ahora admite la especificación de un channel_id al enviar mensajes a dispositivos Android O. Gracias chemidy por la contribución.
  • Se mejoró el manejo de errores al solicitar una respuesta de error más detallada del servicio de back-end FCM.

Autenticación

  • Se UserRecord.tokens_valid_after_time la propiedad UserRecord.tokens_valid_after_time para que siempre devuelva un entero y nunca devuelva None .

Versión 2.13.0 - 21 de agosto de 2018

Base de datos en tiempo real

  • El tipo db.Reference ahora proporciona una API listen() para recibir eventos de actualización en tiempo real desde la base de datos Firebase. Gracias the-c0d3r y rizasif por las contribuciones .
  • El método db.reference() ahora opcionalmente toma un parámetro de URL. Esto se puede usar para acceder a múltiples instancias de Firebase Realtime Database en el mismo proyecto con mayor facilidad.

Mensajería en la nube

Versión 2.12.0 - 17 de julio de 2018

  • El SDK de administrador ahora puede leer la identificación del proyecto Firebase / Google Cloud Platform de las variables de entorno GCLOUD_PROJECT y GOOGLE_CLOUD_PROJECT .

Autenticación

  • El SDK de administrador ahora puede crear tokens personalizados sin inicializarse con las credenciales de la cuenta de servicio.
  • El SDK ahora acepta una opción de aplicación serviceAccountId , que se puede usar para configurar solo el correo electrónico del cliente de una cuenta de servicio.
  • Cuando se implementa en un entorno administrado por Google (por ejemplo, Google App Engine), el SDK puede detectar automáticamente una ID de cuenta de servicio sin ninguna configuración explícita.

Versión 2.11.0 - 31 de mayo de 2018

Autenticación

Base de datos en tiempo real

  • El método Reference.update() ahora se puede invocar con diccionarios que contengan valores None . Las claves None con valores None se eliminan de la base de datos.

Versión 2.10.0 - 12 de abril de 2018

Autenticación

  • Un nuevo método create_session_cookie() para crear una cookie de sesión desde un token de ID de Firebase.
  • Un nuevo método verify_session_cookie() para validar una cadena de cookie de sesión determinada.
  • El módulo de auth ahora almacena en caché los certificados de clave pública utilizados para verificar los tokens de identificación y las cookies de sesión, evitando así una llamada de red cada vez que se necesita verificar una credencial.

Mensajería en la nube

  • Se agregó el campo opcional mutable_content a la messaging.Aps . Tipo de aplicaciones. Esto se puede usar para establecer la propiedad de mutable-content al enviar mensajes FCM a los objetivos APN.
  • Se agregó soporte para especificar campos arbitrarios de clave-valor en la messaging.Aps . Tipo de aplicaciones.

Versión 2.9.1 - 15 de marzo de 2018

Mensajería en la nube

  • Manejo de errores mejorado en la API messaging.send() . Las excepciones planteadas por esta API ahora contienen los códigos de error correctos según lo definido en la documentación .
  • El módulo de messaging ahora admite la especificación de un tiempo de espera HTTP para todas las solicitudes de salida. Pase la opción httpTimeout a firebase_admin.initialize_app() antes de invocar cualquier función en la messaging . Gracias carsongee por la contribución .

Versión 2.9.0 - 14 de febrero de 2018

Mensajería en la nube

  • Un nuevo módulo firebase_admin.messaging para enviar mensajes de FCM y administrar suscripciones de temas.
  • Una nueva función send() para enviar mensajes FCM.
  • Una nueva función subscribe_to_topic() para suscribir una lista de tokens de registro de dispositivos a un tema de FCM.
  • Una nueva función unsubscribe_from_topic() para cancelar la suscripción de una lista de tokens de registro de dispositivo de un tema de FCM.

Autenticación

  • La función verify_id_token() ahora acepta un parámetro opcional check_revoked . Cuando es True , se realiza una comprobación adicional para ver si el token ha sido revocado.
  • Una nueva función revoke_refresh_tokens() para invalidar todos los tokens emitidos a un usuario.
  • Se ha agregado una nueva propiedad tokens_valid_after_timestamp a la clase UserRecord para indicar el tiempo antes de que los tokens no sean válidos.

Versión 2.8.0 - 11 de enero de 2018

Inicialización

  • El método initialize_app() ahora se puede invocar sin ningún argumento. Esto inicializa una aplicación usando las Credenciales predeterminadas de la aplicación de Google y otras opciones cargadas desde la variable de entorno FIREBASE_CONFIG .

Base de datos en tiempo real

  • El método db.Reference.get() ahora acepta un argumento shallow opcional. Si se establece en True esto hace que el SDK ejecute una lectura superficial, que no recupera los valores del nodo secundario de la referencia actual.

Versión 2.7.0 - 21 de diciembre de 2017

  • Una nueva API instance_id que facilita la eliminación de ID de instancia y datos de usuario asociados de los proyectos de Firebase.

Versión 2.6.0 - 08 de diciembre de 2017

Autenticación

  • Se agregó la función list_users() al módulo firebase_admin.auth . Esta función permite enumerar o iterar sobre todas las cuentas de usuario en un proyecto de Firebase.
  • Se agregó la función set_custom_user_claims() al módulo firebase_admin.auth . Esta función permite configurar reclamos personalizados en un usuario de Firebase. Se puede acceder a los reclamos personalizados a través del token de identificación de ese usuario.

Base de datos en tiempo real

  • Se actualizaron los start_at() , end_at() e equal_to() de la clase db.Query para que puedan aceptar argumentos de cadena vacíos.

Versión 2.5.0 - 07 de noviembre de 2017

Versión 2.4.0 - 21 de septiembre de 2017

Base de datos en tiempo real

  • La clase db.Reference ahora tiene un método get_if_changed() , que recupera un valor de base de datos solo si el valor ha cambiado desde la última lectura.
  • El diccionario de opciones pasado a la función initialize_app() ahora puede contener una opción httpTimeout , que establece el tiempo de espera (en segundos) para las conexiones HTTP salientes iniciadas por el SDK.

Versión 2.3.0 - 30 de agosto de 2017

Base de datos en tiempo real

  • Ahora puede obtener el valor ETag de una referencia de base de datos pasando etag=True al método get() de un objeto db.Reference .
  • La clase db.Reference ahora tiene un método set_if_unchanged() , que puede usar para escribir en una ubicación de base de datos solo cuando la ubicación tiene el valor ETag que especifique.
  • Se solucionó un problema con el método de la transaction() que le impedía actualizar los valores escalares en una transacción.

Versión 2.2.0 - 14 de agosto de 2017

Autenticación

  • Una nueva API de administración de usuarios que permite aprovisionar y administrar usuarios de Firebase desde aplicaciones Python. Esta API agrega los get_user() , get_user_by_email() , get_user_by_phone_number() , create_user() , update_user() y delete_dser() al módulo firebase_admin.auth .

Base de datos en tiempo real

  • La clase db.Reference ahora expone un método de transaction() , que puede usarse para ejecutar actualizaciones atómicas en referencias de bases de datos.

Versión 2.1.1 - 25 de julio de 2017

  • Los constructores de tipos de credenciales Certificate y RefreshToken ahora se pueden invocar con una ruta de archivo o un objeto JSON analizado. Esto facilita el consumo de credenciales de cuenta de servicio y las credenciales de token de actualización de fuentes distintas del sistema de archivos local.
  • Mejor integración con la biblioteca google-auth para realizar solicitudes HTTP autenticadas desde el SDK.

Versión 2.1.0 - 28 de junio de 2017

Versión 2.0.0 - 17 de mayo de 2017

  • Este SDK se ha migrado de oauth2client a la nueva biblioteca de google-auth .

Autenticación

  • Este SDK ahora admite la verificación de tokens de ID cuando se inicializa con las credenciales predeterminadas de la aplicación.

Versión 1.0.0 - 04 de abril de 2017

Inicialización

  • Implementó el módulo firebase_admin , que proporciona la función initialize_app() para inicializar el SDK con una credencial.
  • Implementé el módulo firebase_admin.credentials , que contiene constructores para los tipos de credencial Certificate , ApplicationDefault y RefreshToken .

Autenticación

  • Implementamos el módulo firebase_admin.auth , que proporciona create_custom_token() y verify_id_token() para acuñar tokens de autenticación personalizados y verificar los tokens de identificación de Firebase.