Usando la API: modulo moneytrackin para netvibes
moneytrackin’ team is located in Girona, Spain. We’ll write in spanish from time to time. In case you don’t understand it, just ignore these posts
![]()
Desfasado: Por favor usa el nuevo módulo mejorado Netvibes UWA UWA module
Edit: ***Resuelto*** Ver ésta otra entrada
Hay un problema con la autentificación del módulo. Tenemos una función javascript que encripta la password en el lado cliente antes de mandarla, y no está funcionando. Es posible que la gente de netvibes no permita ejecutar funciones propias de javascript para aumentar la seguridad. Les hemos escrito para ver si nos dan una solución, os lo haremos saber cuando obtengamos una respuesta.
Aquí tenemos un ejemplo del uso de la API pública de moneytrackin’, el módulo para netvibes. Podéis añadirlo a vuestra página especificando la url del módulo: http://www.moneytrackin.com/netvibes/
Nuestra API está basada en el estándar SOAP, de modo que acceder a sus métodos es tan sencillo como ésto:
$client = new SoapClient(“http://www.moneytrackin.com/api/wsdl/”);
// Y llamamos a cualquier método (definidos en la ayuda así como en el ‘endpoint’ wsdl)
try {
$result = $client->listProjects(
“usuario”,
“password”);
} catch (SoapFault $exception) {
echo “SOAP ERROR -> “.$exception->faultstring;
}
En éste ejemplo (y el módulo netvibes) hemos usado php5 y las extensiones que vienen con él (soap y simplexml), pero puede usarse php4 sin ningún problema con la librería gratuíta NuSOAP
Sigue leyendo para ver el código entero del módulo netvibes
<meta content=“text/html; charset=utf-8″ http-equiv=“Content-Type” />
<link type=“text/css” rel=“stylesheet” /><script type=“text/javascript”>You have to enter your username / password. Please edit it.// Initialize the connection
$client = new SoapClient(“http://www.moneytrackin.com/api/wsdl/”);
if (isset($_POST[“project”])) { // Here we handle the insert form
$insert_ok=true;
try {
$ins_res = $client->insertTransaction(
$_COOKIE[‘name’],
$_COOKIE[‘password’],
$_POST[“project”],
$_POST[“description”],
$_POST[“amount”],
$_POST[“date”],
$_POST[“tags”]
);
} catch (SoapFault $exception) {
$insert_ok=false;
echo “Insert transaction: SOAP ERROR -> “.$exception->faultstring;
}
if ($insert_ok) echo “
<p align=”center“><b>Transaction inserted successfully!</b></p>
“;
}
$ok = true;
function getbalance($proj) {
global $client;
global $ok;
// get the main account’s balance
try {
$balance = $client->getBalance(
$_COOKIE[‘name’],
$_COOKIE[‘password’],
$proj);
$sxe = simplexml_load_string($balance);
return $sxe->balance;
} catch (SoapFault $fault) {
$ok = false;
return “SOAP ERROR: “.$fault->faultstring;
}
}
echo “
“;
// table showing the projects and their balance
echo “
<table width=”70%“>
<tr>
<td align=”center” colspan=”2“><b>”.$_COOKIE[‘name’].“’s balances</b></td>
</tr>
<tr>
<td colspan=”2“></td>
</tr>
<tr>
<td><a xhref=”http://www.moneytrackin.com/home/" mce_href="http://www.moneytrackin.com/home/" >Main project</a></td>
<td><b>“. getbalance(”“) .”</b></td>
</tr>
<tr>
<td><a xhref=“http://www.moneytrackin.com/project/%22.$project%5B” mce_href=“http://www.moneytrackin.com/project/%22.$project%5B” >“. utf8_decode($project->name) .”</a></td>
<td><b>“. getbalance($project[’id’]) .”</b></td>
</tr>
</table>
“;
?>
<form action=”/netvibes/” id=”insert” method=”post“>
<table width=”75%“>
<tr>
<td align=”center” colspan=”2“><b>Insert a transaction</b></td>
</tr>
<tr>
<td colspan=”2“></td>
</tr>
<tr>
<td><label for=”description“>Description</label></td>
<td><input type=”text” id=”description” name=”description“></input></td>
</tr>
<tr>
<td><label for=”amount“>Amount</label></td>
<td><input type=”text” id=”amount” name=”amount“></input></td>
</tr>
<tr>
<td><label for=”date“>Date <i>(dd/mm/yyyy)</i></label></td>
<td><input type=”text” id=”date” name=”date“></input></td>
</tr>
<tr>
<td><label for=”tags“>Tags</label></td>
<td><input type=”text” id=”tags” name=”tags“></input></td>
</tr>
<tr>
<td><label for=”project“>Project</label></td>
<td><select id=”project” name=”project“> <option value=”NULL“>Main</option> <option value=”\“”.$id.“\”“>“.$name.”</option> </select></td>
</tr>
<tr>
<td colspan=“2″></td>
</tr>
<tr>
<td align=“center” colspan=“2″><input type=“submit” value=“Insert” name=“add”></input> /></td>
</tr>
</table>
</form>// Now the "configuration" form
?>
<form method=“post” id=“moneytrackin_form” class=“configuration”>
<table width=“75%”>
<tr>
<td><label>Name :</label></td>
<td><input type=“text” name=“name”></input></td>
</tr>
<tr>
<td><label>Password :</label></td>
<td><input type=“password” id=“moneytrackin_pass” name=“password”></input></td>
</tr>
<tr>
<td align=“center” colspan=“2″><input type=“submit” onclick=“document.getElementById(’moneytrackin_pass’).value = hex_md5(document.getElementById(’moneytrackin_pass’).value)” value=“ok” name=“buttn”></input></td>
</tr>
</table>
</form><script type=“text/javascript”>
// Here we had to paste the whole md5.js content because netvibes didn’t support including the file. Omitted for brevity
</script>
Parece ser que el código de arriba no se muestra correctamente, bájate el archivo completo desde aquí: moneytrackin’ netvibes module

May 25th, 2006 at 1:25 pm
Codigo fuente (php/soap/xml) del módulo de moneytrackin’ para netvibes…
Desde http://mo.neytrack.in (aplicación web2.0 española para contabilidad personal) hemos lanzado la API pública basada en SOAP, y para ilustrar su uso hemos liberado el código de nuestro módulo para netvibes. más info en el blog (http://blog.mo….
May 26th, 2006 at 5:37 pm
[…] Han lanzado una API pública para crear terceros programas, como por ejemplo integración con el gran Netvibes. Y algo importante es que puedes usarlo vía conexión cifrada con https://mo.neytrack.in. […]
May 31st, 2006 at 8:02 am
[…] Posted by admin on 31 May 2006 at 08:02 am | Tagged as: moneytrackin We have added two new languages (english isn’t our mother tongue, these are): spanish and catalan. […]