Cómo obtener notificaciones de Pushbullet en tiempo real usando la API de Pushbullet usando Python

Hola Sameer, aquí está tu respuesta para la API de Pushbullet usando Python.

A continuación hay detalles y he proporcionado algunos de los enlaces que serán benéficos para usted.

Campo de golf:

  1. pushbullet.py 0.10.0
  2. API Pushbullet
  3. Generación de notificaciones push con Pushbullet y Silex – DZone Web Dev

http://pushbullet.py

Esta es una biblioteca de Python para el maravilloso servicio Pushbullet. Le permite enviar notificaciones push a dispositivos Android y iOS.

Para utilizar la API necesita una clave de API que se puede obtener aquí. Esto es específico del usuario y se utiliza en lugar de contraseñas.

Instalación

La forma más fácil es simplemente abrir su terminal y tipo favoritos

pip instalar pushbullet.py

Alternativamente, puede clonar este repositorio e instalarlo con

python setup.py install

Requerimientos

  • La maravillosa biblioteca de peticiones.
  • La biblioteca mágica de python-magic.

Uso

Autenticación

desde pushbullet import Pushbullet

pb = Pushbullet (api_key)

Si su clave no es válida (es decir, la API Pushbullet devuelve un 401 ), se InvalidKeyError un InvalidKeyError .

Usando un proxy

Cuando se especifique, todas las solicitudes a la API se realizarán a través del proxy. Tenga en cuenta que el uso de proxies SOCKS requiere el paquete de requests[socks] ( pip install requests[socks] para instalar); sin embargo, los proxies HTTP (con autenticación básica) funcionan bien sin el paquete de requests[socks] .

desde pushbullet import Pushbullet

pb = Pushbullet (api_key, proxy = {“https”: “https: // usuario: [email protected]: 3128 /”})

Tenga en cuenta que solo los proxies HTTPS funcionan con Pushbullet.

Empujando cosas

Empujando una nota de texto

push = pb.push_note (“Este es el título”, “Este es el cuerpo”)

push es un diccionario que contiene los datos devueltos por la API Pushbullet.

Empujando una dirección

address = “25 E 85th St, 10028 New York, NY”
push = pb.push_address (“home”, dirección)

Empujando una lista

to_buy = [“leche”, “pan”, “sidra”]
push = pb.push_list (“Lista de compras”, to_buy)

Empujando un enlace

push = pb.push_link (“Sitio fresco”, “https://github.com”)

Empujando un archivo

Presionar archivos es un proceso de dos partes. Primero necesita cargar el archivo, y luego puede empujarlo como lo haría con cualquier otra cosa.

con abrir (“my_cool_picture.jpg”, “rb”) como pic:
file_data = pb.upload_file (foto, “picture.jpg”)

push = pb.push_file (** file_data)

upload_file devuelve un diccionario que contiene las claves file_type , file_url y file_url . Estos son los mismos parámetros que toma push_file .

La ventaja de esto es que si ya tiene un archivo cargado en algún lugar, puede usarlo en lugar de volver a cargarlo. Por ejemplo:

push = pb.push_file (file_url = “https://i.imgur.com/IAYZ20i.jpg”, file_name = “cat.jpg”, file_type = “image / jpeg”)

Trabajando con empujes

También puede ver todos los empujes anteriores:

empuja = pb.get_pushes ()

Pushes es una lista que contiene diccionarios que tienen datos push. Puede utilizar estos datos para descartar notificaciones o eliminar inserciones.

último = empuja [0]

# Ya lo leímos, así que vamos a descartarlo.
pb.dismiss_push (latest.get (“iden”))

# Ahora bórralo
pb.delete_push (latest.get (“iden”))

Ambos provocan PushbulletError si hay un error.

También puedes eliminar todos tus empujes:

empuja = pb.delete_pushes ()

Empujando a dispositivos específicos.

Hasta ahora, todos nuestros impulsos fueron a todos los dispositivos conectados, pero hay una manera de limitar eso.

Primero necesitamos conseguir algunos dispositivos.

# Obtener todos los dispositivos a los que el usuario actual tiene acceso.
imprimir (pb.devices)
# [Dispositivo (‘Motorola Moto G’), Dispositivo (‘N7’), Dispositivo (‘Chrome’)]

# Seleccione un dispositivo de la matriz usando indexación
motog = pb.devices [0]

# O recuperar un dispositivo por su nombre. Tenga en cuenta que se genera un InvalidKeyError si el nombre no existe
motog = pb.get_device (‘Motorola Moto G’)

Ahora podemos usar los objetos del dispositivo como hicimos con pb:

push = motog.push_note (“¡Hola mundo!”, “Estamos usando la API”)

Alternativamente podemos pasar el dispositivo para empujar métodos:

push = pb.push_note (“Hello world!”, “Estamos usando la API.”, device = motog)

Creando nuevos dispositivos

Crear un nuevo dispositivo también es fácil, solo necesita especificar un nombre para él. Aunque también puede especificar fabricante, modelo e icono también.

listener = pb.new_device (“Listener”)
motog = pb.new_device (“MotoG”, fabricante = “Motorola”, model = “G”, icon = “android”)

Ahora puedes usarlo como cualquier otro dispositivo.

Dispositivos de edición

Puede cambiar el apodo, el fabricante, el modelo y el icono del dispositivo:

listener = pb.edit_device (listener, manufacturer = “Python”, model = “3.4.1”, icon = “system”)
motog = pb.edit_device (motog, apodo = “Mi MotoG”)

Eliminando dispositivos

Por supuesto, también puede eliminar dispositivos, incluso aquellos que usted no haya agregado.

pb.remove_device (listener)

A PushbulletError se levanta en error.

Los canales

También puede enviar pulsos a los canales. Primero, cree un canal en el sitio web de Pushbullet (también asegúrese de suscribirse a ese canal). Todos los canales que pertenecen al usuario actual se pueden recuperar de la siguiente manera:

# Obtener todos los canales creados por el usuario actual
imprimir (pb.channels)
# [Channel (‘My Channel’ ‘channel_identifier’)]

my_channel = pb.channels [0]

# O recuperar un canal por su channel_tag. Tenga en cuenta que se genera un InvalidKeyError si el channel_tag no existe
my_channel = pb.get_channel (‘Mi canal’)

Luego puedes enviar un impulso a todos los suscriptores de este canal de la siguiente manera:

push = my_channel.push_note (“Hello Channel!”, “Hello My Channel”)

Alternativamente podemos pasar el canal para empujar métodos:

push = pb.push_note (“Hello Channel!”, “Hello My Channel.”, channel = my_channel)

Tenga en cuenta que solo puede acceder a los canales creados por el usuario actual.

Contactos

Los contactos, que se conocen como “Chats” en la terminología de Pushbullet, funcionan como dispositivos:

# Obtener todos los contactos que el usuario tiene
imprimir (pb.chats)
# [Chat (‘Peter’ ), Chat (‘Sophie’ )]

sophie = pb.chats [1]

Ahora podemos usar los objetos de chat como hicimos con pb o con los dispositivos:

push = sophie.push_note (“¡Hola mundo!”, “Estamos usando la API”)

# O:
push = pb.push_note (“¡Hola mundo!”, “Estamos usando la api.”, chat = sophie)

Añadiendo nuevos chats

bob = pb.new_chat (“Bob”, “[email protected]”)

Edición de chats

Puedes cambiar el nombre de cualquier chat:

bob = pb.edit_chat (bob, “bobby”)

Borrando chats

pb.remove_chat (bob)

Enviando mensajes SMS

dispositivo = pb.devices [0]
push = pb.push_sms (dispositivo, “+3612345678”, “Wowza!”)

Encriptado de fin a fin

Para activar el cifrado de extremo a extremo, especifique su clave de cifrado durante la construcción de la instancia de Pushbullet :

desde pushbullet import Pushbullet

pb = Pushbullet (api_key, “Mi contraseña secreta”)