[DLL/C#] Fusion Tables de Google

Desarrollo de aplicaciones de escritorio C#, c++, Java, Net, VB... y todos los frameworks y tecnologías relacionadas co este tipo de aplicaciones.
Buenas, hoy os dejo una pequeña dll que he realizado para conectar con las bases de datos del sistema de google Fusion Tables, que va en la herramienta google docs y que funciona basicamente como un sistema de bases de datos SQL en linea

Viene muy bien para aplicaciones donde interese compartir una base de datos entre todos los usuarios, yo lo uso para interconectar aplicaciones de android.

La dll contiene 3 sencillas funciones:

token = GenerateToken (usuariogoogle, pass)
csv = Query(query, token)
csv = QueryData(query, token)

Por partes, GenerateToken obtiene un valor de autentificación de usuario de google que SOLO ES NECESARIO REALIZAR SI VAMOS A EDITAR LA TABLA. La funcion Query lanza una consulta SQL y recibe el toiken, si la tabla esta marcada como publica se puede mandar un token vacio y funciona bien. La funcion QueryData es similar a la anterior a excepcion de que esta sirve para consultas SQL que editen los datos, por ejemplo alter, insert, update... En este caso si es necesario generar un token valido.

Se puede pedir al usuario hacer login (como en el ejemplo adjunto) o disponer de un dummy account y introducir automaticamente el user y la pass, aunque el sistema de login sea mas correcto.

Los datos retornados vienen en un string en formato CSV. si se desea implementar una funcion que convierta este valor a una tabla del estilo tabla["campo"][1] para obtener los valores, sepodria utilizar un codigo similar a este.
--mytable=csvtotable(dllreturn);

function csvtotable(s)
  s = s .. ','        -- ending comma
  local t = {}        -- table to collect fields
  local fieldstart = 1
  repeat
    -- next field is quoted? (start with `"'?)
    if string.find(s, '^"', fieldstart) then
      local a, c
      local i  = fieldstart
      repeat
        -- find closing quote
        a, i, c = string.find(s, '"("?)', i+1)
      until c ~= '"'    -- quote not followed by quote?
      if not i then error('unmatched "') end
      local f = string.sub(s, fieldstart+1, i-1)
      table.insert(t, (string.gsub(f, '""', '"')))
      fieldstart = string.find(s, ',', i) + 1
    else                -- unquoted; find next comma
      local nexti = string.find(s, ',', fieldstart)
      table.insert(t, string.sub(s, fieldstart, nexti-1))
      fieldstart = nexti + 1
    end
  until fieldstart > string.len(s)
  return t
end
Para realizar consultas SQL es completamente igual que por ejemplo con SQLITE, con algunas excepciones, google ofrece una referencia del uso aqui:

https://developers.google.com/fusiontab ... _reference

En el ejemplo adjunto va una tabla que tenia por ahi con algunos productos y sus codigos de barras para un test de un tpv, la tabla es esta:

https://www.google.com/fusiontables/dat ... Xk12eHHqvo

Por tanto el nombre de la tabla sql es 19zJhQeVuo_t-GH0gNRCXfFmUPsptpXk12eHHqvo y se pueden realizar consultas como SELECT * FROM 19zJhQeVuo_t-GH0gNRCXfFmUPsptpXk12eHHqvo WHERE rowid=3...

Descargar
HIDE: ON
Hidebb Message Hidden Description
:'( Dios santooooo !!
way pablo ;)
good :yes: ;)
no se puede bajar de 4shared sin cuenta?
Ceone escribió:no se puede bajar de 4shared sin cuenta?
Cierto, tambien me pasa.
buenas noches he visto el articulo que has publicado de la dll de google fusion, lo que no se es como aplicarla, te explico tengo una tabal en google fusion y necesito que una vez al dia me la descasrgue automaticamente una tarea de windows y me guarde un fichero csv con los datos en un directorio, eso es posible' gracias de antemano por tu ayuda.
Genial muy buen trabajo.
asalcedo escribió:buenas noches he visto el articulo que has publicado de la dll de google fusion, lo que no se es como aplicarla, te explico tengo una tabal en google fusion y necesito que una vez al dia me la descasrgue automaticamente una tarea de windows y me guarde un fichero csv con los datos en un directorio, eso es posible' gracias de antemano por tu ayuda.
es muy sencillo, simplemente con esta dll te bajas la tabla y con las funciones que he puesto la conviertes a csv y ejecutas la apliccion con las tareas programadas, tan simple

:num1:

thanks

how can i find the apz file 'FusionTables.apz' ??

Fusion Tables API v1.0
would this example still work with this new version ?

u should test, idont know and i dont care :)

u dont care because i dont speak spanish :)

i dont care about ams plugins from time ago

ok does anyone still have this example somewhere so I can try to use it ?

thank u so much pabloko :num1:

o.o gracias