Usando la API de gNewBook para postear desde BASH con Curl

June 9, 2010 by Oscar Valenzuela   comments (8) - Visitas: 4613

bash, gnewbook, api, rest, webservices

Bueno, otro ejemplo también solicitado es como postear desde la misma consola utilizando curl, aca dejo un ejemplo que incluso les dara el ID del objeto en gNewBook.

#!/bin/bash
USERNAME=""
PASSWORD=""
URL=http://www.gnewbook.org/api/update.php
RST=$(curl -s -u $USERNAME:$PASSWORD -d status="$1" $URL > /tmp/gNewBook_up2date.log)
IDS=$(cat /tmp/gNewBook_up2date.log | grep "</id>" | head -n1 | cut -d '>' -f2 | cut -d '<' -f1)
echo "Posteado en gNewBook con ID:"$IDS
exit 0

y hay para enviar otros datos?

Subir imagines o posteaer en el estado actual?

 

El Bazza 81 days ago

esta en mi versión:

#!/bin/bash
#
#     Actualizar gnewbook microblog
#

function demonio {
    echo "  (__)    /'''''"
    echo " ,|··|, <  $*"
    echo " -(  )-.  \_____"
    echo "   !!'-' GPL v3 - Libre y Abierto!"
}

if [ "$1" = "-h" ]; then
    demonio "-z: version grafica | #: mensaje directamente "
    exit 1
fi

if [[ $(echo $*) ]]; then
    if [ "$1" = "-z" ]; then
        # entrada en zenity
        if test -e zenity; then
            ud=$(zenity --entry)
        else
            xmessage -bd white "Se require zenity, lo siento"
        fi
    else
        ud="$*"
        echo "$ud" > /tmp/correjir
        # Corrector de texto, si no esta instalado deberia que andar igual
        aspell -c /tmp/correjir 2> /dev/null
        ud=$(cat /tmp/correjir)
    fi
else

    demonio "Cual es tu mensaje?"
    read ud
fi

if [[ $(curl -u USUARIO:CLAVE -d status="$ud" http://www.gnewbook.org/api/ | grep error &> /dev/null ) ]]; then
    demonio "Error"
    if [ "$1" = "-z" ]; then
        zenity --error --text="Parece que hubo un error!"
    fi

else
    demonio "$ud"
    if [ "$1" = "-z" ]; then
        zenity --info --text="Mensaje enviado \n este programa es GPL v3 \n Libre y Abierto"
    fi
fi

 

El Bazza 81 days ago

tiene una version grafica, poniendo el modificador z, corector de texto con aspell y te dice si el post llego bien :D

 

 

El Bazza 81 days ago

Xuaaa!!!, excelente!!!, lo pondre pronto en la ayuda. Lamentablemente por ahora solo se puede usar la API como en Identi.ca y Twitter, pronto desarrollaremos una versión mas extendida en funcionalidades.

Oscar Valenzuela 81 days ago

Utilizando tu script Oscar, se me desconecta y ni idea porque.

Nelson 29 days ago

Nelson, solo puedes estar conectando desde una instancia, de esa forma si te conectas via API o Mobile y estabas conectado al sitio, entonces el sistema te desconectara desde el sitio para abrir la sesion en la API o Mobile.

Oscar Valenzuela 29 days ago

Ok, disculpa pense que pasaba algo parecido como con twitter, por eso no entendía. De ahora en más lo voy a tener en cuenta, gracias Oscar. Saludos.

Nelson 29 days ago