Conectar una aplicación web con Google sheets TUTORIAL PASO A PASO

Поделиться
HTML-код
  • Опубликовано: 16 дек 2024

Комментарии • 175

  • @AlvaroDLCWorker
    @AlvaroDLCWorker Год назад +4

    Muchas gracias, no solo aprendí como conectar sheets, sino también me resolvió muchas dudas que tenia de JavaScript. Muy claro y al punto. Saludos

    • @puntojson
      @puntojson  Год назад

      Gracias!!!! Me voy a seguir esforzando para traer contenido así..

  • @kevinsaez10
    @kevinsaez10 2 месяца назад

    Empece hace poco a ver tus tutoriales y la verdad son muy notritivos, muy bien explicados!!! muchas gracias por tus contenidos!!!

  • @ramoniniguez8970
    @ramoniniguez8970 Год назад +1

    Hola Punto Json, qué buena información que gentilmente brindás, en esto soy un aprendíz y me ayudás mucho con este video. Voy a escribir a tu correo por unas consultas si podés me respondés. Me encanta esto. Felicitaciones por difundir estos temas. Gracias totales. Un abrazo desde Salta Argentina.

    • @puntojson
      @puntojson  Год назад +1

      Buenas! Gracias por el lindo mensaje 😊 Escribime si querés a contacto@puntojson.com
      Saludos desde Santa Fe

  • @MrCrisVIP
    @MrCrisVIP 2 месяца назад +1

    buenas tardes, el mejor y unico tutorial q explica todo y es realmente funcional. me podrias explicar como hacer para capturar el mail del login, ya que necesito limitar ciertas celdas a determinados usuarios.

  • @AlexxV23
    @AlexxV23 2 месяца назад

    excelente videooo!!! con información de calidad, me gustaria que pudieras hacer un video desplegando la aplicacion en la nube y realizanco las configuraciones para ello

  • @factorindustriacolombiana
    @factorindustriacolombiana 10 месяцев назад

    muy genial, muchas gracias, no sabia que google tenia una api, cada vez me interesa mas ese tema, y cada vez se pone mas complejo, pero mas genial

    • @puntojson
      @puntojson  6 месяцев назад +1

      Google tiene DE TODO. Muchísimas apis para de todo. Pero ojo que tiene tanto que te puede marear, andá investigando cuando tengas las necesidades de hacerlo!

  • @agustinlabattaglia6441
    @agustinlabattaglia6441 4 месяца назад

    Uff tremendo video, justo lo que necesito. Estoy creando una app para llevar el inventario de la carpinteria en la que trabajo y me bancan que estudie a la vez y esto me viene perfecto.
    Ahora a enrroscarme para hacerlo andar en Angular y hacer el .put
    muchas gracias brodi!!!

    • @puntojson
      @puntojson  4 месяца назад +1

      De nada don Bata!
      Conectarlo con Angular es molesto porque no podés usar la librería de nodeJs y hay que hacerlo basado en este proyecto.
      Para hacer que las variables gapi y gsi (creo que uso las 2 en este video) estén disponibles, tenés que declarar variables globales con esos nombres, así typescript no se queja de usar variables que no declaraste en ningún lado (porque se crean cuando importás las librerías).
      Suerte con eso! Cualquier cosa preguntame por acá o en el canal de discord.

    • @daniel_toro_programacion
      @daniel_toro_programacion 4 месяца назад

      @@puntojson Por que no se puede usar Node? solo se pueden usar cliente side ?

    • @puntojson
      @puntojson  4 месяца назад

      @@daniel_toro_programacion Si quisieras usar la librería de node en una SPA tendrías que publicar tu clave secreta. La librería de node está hecha para trabajar en backend donde el usuario no puede meterse, si metés eso en frontend comprometés no sólo la seguridad de tu api, sino que hasta te puede generar cargos en tu cuenta de Google ($).
      Tenés que usar alguna configuración que no sea 100% client-side para poder hacer una conexión de largo plazo con la Google API.

  • @bethaavila9049
    @bethaavila9049 2 месяца назад

    te mereces más vistas y más likes! sos un genio, muchas gracias

  • @xxcharlesxx4346
    @xxcharlesxx4346 Год назад +2

    amigo videos de este tipo así seria genial que siguieras haciendo como para reservas y eso un estilo asi

    • @puntojson
      @puntojson  Год назад

      No estaría mal un proyecto con un sistema de reservas y turnos! Muy interesante!!

    • @AsistenteVirtual-vn9jz
      @AsistenteVirtual-vn9jz Год назад

      Totalmente de acuerdo, de igual manera te agradeceríamos demasiado que pudieras conectarlo con un sistema de compra y venta, con todo y el proceso de carrito de compra y venta final por medio de tarjeta o efectivo. Siempre conectando como base de datos a GoogleSheets y siendo el punto principal la AUTOMATIZACIÓN

  • @sarkastherin
    @sarkastherin Год назад

    Hola, me acabo de encontrar con este canal, explicas muy bien, te felicito. Yo tengo tiempo trabajando con Google Sheet, y hasta hace poco solo habia logrado crear aplicativo solo con Google Apps Script, hace poco comencé a explorar lo de la API de Google Sheet, lo que no he podido hacer es usar una "cuenta de servicio" en vez del todo ese proceso de autorización, ya que me parece un poco invasivo otorgar permisos de "modificar todas tus hojas de calculo" cuando la verdad no lo necesito, ya que solo quiero que se modifique una hoja de calculo, supongamos de mi propiedad. Entonces por lo que leí, si la aplicación no requiere usar datos del usuario se puede usar una "cuenta de servicio", pero la verdad no he llegado a enteder como generar eso en código.

    • @puntojson
      @puntojson  Год назад +1

      Buenas! Hace ya varios años lo hice a eso, de la siguiente manera, puede ser que sea levemente distinto :
      Creé un usuario desde la consola de Google que es un usuario de sistema, o un usuario qué tiene un usuario y un token de acceso. Después desde la hoja de cálculo que quiero usar ponía compartir y ponía con permisos de edición al usuario qué creé en el paso anterior. Después usaba el usuario y token para autenticarme y hacer cambios en ese sheet.
      Todo eso lo hice en su momento con python y al día de hoy sigo usando esas herramientas para mi trabajo por lo que sé que todavía el método funciona. Tendría únicamente qué ver como hacerlo desde js

  • @gustavoadolfogomezsandoval1246
    @gustavoadolfogomezsandoval1246 Год назад +1

    Maravilloso video, muy explicado al detalle, muchas gracias

  • @moyPc2024
    @moyPc2024 Год назад +1

    Es justo lo que buscaba CRACK! gracias.

  • @alefalcone3680
    @alefalcone3680 10 месяцев назад +1

    Flaco sos un genio. Hermoso video

    • @puntojson
      @puntojson  6 месяцев назад

      Gracias Ale :D

  • @nico12136
    @nico12136 6 месяцев назад

    Increíble video, excelente explicación. Todo muy claro. Muchas gracias!

    • @puntojson
      @puntojson  6 месяцев назад

      Me alegro de que te haya sido claro! Gracias por comentar :)

  • @orioltorrentscabestany9115
    @orioltorrentscabestany9115 Год назад

    muchas gracias por compartir!!!!! Muy instructivo...

    • @puntojson
      @puntojson  Год назад

      Gracias por pasarte y comentar!

  • @Rafelange
    @Rafelange 10 месяцев назад

    gracias mr. beast argentino programador.

    • @puntojson
      @puntojson  6 месяцев назад

      Mmm podría hacer un sorteo de un millón de dólares.....
      Tendría que juntar el millón primero, pero después podría!

  • @fernandolopez8187
    @fernandolopez8187 8 месяцев назад

    Gracias. La verdad que se entendió perfectamente

  • @alecobos06
    @alecobos06 5 месяцев назад

    tremendo video!!!! Muchas gracias!

    • @puntojson
      @puntojson  5 месяцев назад +1

      Gracias a vos por pasarte Ale!

  • @denisenagel1644
    @denisenagel1644 Год назад

    Consulta, en el minuto 22:20 por qué podes borrar el archivo de credenciales? Si lo borro dejarian de actualizarse los datos? Perdón apenas inicio con bases de datos!

    • @puntojson
      @puntojson  Год назад

      Si te fijás bien, el archivo de credenciales siempre fue un comentario, no se usó para nada, por lo cual no infuía en la funcionalidad. Te podés fijar también que en el VScode el archivo credenciales.js siempre está nombrado en gris, lo que significa que ese archivo no está siendo usado.
      Básicamente lo usé como un block de notas

    • @denisenagel1644
      @denisenagel1644 Год назад +1

      @@puntojson gracias y disculpa la pregunta.. pero muchisimas gracias me sirve demasiado tu video!!

  • @acelgacosmica7626
    @acelgacosmica7626 4 месяца назад

    Este video me acompaña de la manito y explicas sólo lo que necesito saber, sin ir por tangentes. Un tutorial de la san puta

    • @puntojson
      @puntojson  4 месяца назад

      Gracias acelga! Me puso muy contento leerte 😊

  • @benjaminmunoz1481
    @benjaminmunoz1481 11 месяцев назад

    Grias maquina!! el video me ayudo un monton!!

    • @puntojson
      @puntojson  11 месяцев назад

      De nada! Gracias a vos por mirar!

  • @sabripereira
    @sabripereira Год назад

    Excelente video! Gracias 🥰🥰

  • @lucasgolchtein9210
    @lucasgolchtein9210 3 месяца назад

    Hola! Te agradezco muchísimo este video, muy explicativo y fructífero. Te quiero consultar si se puede configurar esto mismo pero para un desarrollo de una extensión de Chrome, muchas gracias!

    • @puntojson
      @puntojson  3 месяца назад

      Gracias!
      La verdad no tengo ni idea de extensiones de chrome 🥴 Perdón por la falta!

    • @lucasgolchtein9210
      @lucasgolchtein9210 3 месяца назад +1

      @@puntojson no hay ningún problema, muchas gracias a vos, excelente contenido!

  • @fernandorivass.3725
    @fernandorivass.3725 11 месяцев назад

    Muchas gracias.

    • @puntojson
      @puntojson  11 месяцев назад

      Gracias a vos por pasarte y comentar!

  • @memodev
    @memodev 11 месяцев назад

    Hola Gonzalo, explicas super bien. Quisiera saber si me puedes orientar ya que necesito hacer una pagina parecida donde los usuarios de mi empresa ingresen los codigos referentes a un producto y a su vez estos se comparen con otra oja sheets para saber si uno de los codigos que ingresaron coincide con un pedido en espera. No se si me explique bien. Gracias de antemano por tu tiempo.

    • @puntojson
      @puntojson  11 месяцев назад

      Buenas! Gracias por tu mensaje!
      Lo que haría yo es lo siguiente :
      En el sheets tiene que haber una columna qué diga si un pedido está terminado o en proceso, también en otra columna pueden estar los id de producto que requiere el pedido, separados por coma.
      Lees el sheets y filtras todos los pedidos que estén solamente en proceso, para cada columna en un array guardas los ids de cada producto (para cada pedido).
      Después comparas el ID ingresado con los id productos, al encontrar uno retornas true o el ID del pedido si lo tenés, si no encontrás nada devolvés false.
      Según el true o false después mostrás un cartel de éxito o no, eso lo podes hacer con una librería que se llama sweet alert si querés (Para que quede lindo) .
      De entiende lo que quise explicar? Estoy del celu asique quizás no me fui tan profundo. Cualquier cosa avisame!

    • @memodev
      @memodev 11 месяцев назад

      @@puntojson que grande Gonzalo.. excelente. Si es cierto no hace falta hacerlo en otra hoja solo cuando agreguen los armazones que estan en espera se comparan con los que estan en stock y si coinciden sale la alerta de cual es la coincidencia y en que caja estan guardados.
      Gracias lo hare asi.
      PD: es una optica.

  • @juanmanuelburdet9699
    @juanmanuelburdet9699 Год назад

    Me acabo de enganchar con la buena onda del canal Calo, aprovecho y te consulto por una pista sobre un tema de Google apps Script, en Calendar, se puede asociar la ejecucion de una function creada, a momento de producirse el evento, porque si atraves de los disparadores o activadores reconoce los eventos de calendar Crear, modificar o eliminar el evento, pero no logro encontrar nada respecto al momento de llegado el momento, mas alla de la generacion propia de la notificacion del evento. Mil gracias por una pista. Te voy a estar siguiendo, 😜

    • @puntojson
      @puntojson  Год назад +1

      Buenas!
      Mirá, estoy pensando tu problema y se me ocurre algo, pero no sé que tanto se amolda a tu problema específico.
      Por lo que leí acá developers.google.com/apps-script/guides/triggers?hl=es-419 parece que no hay un activador para "cuando un evento de calendario sucede", PERO hay para cuando se crea o se edita un evento.
      Por lo cual, estoy pensando que quizás tenés que tener un bot que cuado escucha el activacor de ON_EVENT_UPDATED para ver la fecha del evento y automatizar la ejecución de tu función para ese momento.
      Eso sí, tendrías que guardar en algún lugar el ID del evento por si el mismo se modifica o se borra, así borrás la automatización que dejaste planeada, lo cual no creo que lo puedas hacer con Google Scripts.
      Se me ocurre sino que para solucionar ese problema te tendrías que hacer una pequeña app en Node.js o con lo que te manejes que tenga guardados todos los eventos futuros y que ejecute lo que tengas que ejecutar, pero sin Google Scripts.
      ¿Me hice entender? Cualquier cosa preguntame!

  • @giovannyaguilarrojas2434
    @giovannyaguilarrojas2434 5 месяцев назад

    Muy bueno el video, Gracias por compartir. una consulta, Con Angular usando TS. como seria la conexión Auth? Gracias.

    • @puntojson
      @puntojson  5 месяцев назад

      Buenas! La manera más irresponsable y fácil es haciendo todo lo mismo (cargando el script en html) y crear una variable global en el app.ts con el nombre de la librería, le podés poner tipo any o descargarte la definición de tipos que haya hecho otro. Después podés acceder desde todos los componentes o servicios a la api sin que te moleste typescript.

  • @BryanR-i7p
    @BryanR-i7p 7 месяцев назад

    Me encantó el video, resolvió en gran parte dudas que tenia. He visto que el front lo ejecutas de manera local, entonces le das tu IP a OAuth para poder realizar las peticiones. Yo quiero hacer un front el cual muestre (solo seria printado de datos, no tendría más operaciones) las estadísticas de cada jugador de una liga de fútbol barrial que tenemos en un sheets (esta web seria de acceso publico), de este modo debería de hacer algún tipo de configuración diferente a la hora de autorizar un origen de javascript con OAuth? Muchas gracias por tu contenido

    • @puntojson
      @puntojson  6 месяцев назад +1

      Buenas! Sí, tenés que primero hostear la página y luego ver que IP tiene asignado, lo podés hacer desde el inspector del navegador (viendo de donde vienen los recursos), después ponés esa IP en la lista de orígenes permitidos.
      Saludos!

  • @DanielIsaiasDeDiosGomezGajardo
    @DanielIsaiasDeDiosGomezGajardo 26 дней назад

    Muy bien explicado todo y una excelente ayuda en mi proyecto. Tengo una duda ¿Cómo podría ser para que no tenga que autentificarse el usuario, ya que no lo necesito, en otras palabras que solo pueda visualizar el contenido sin necesidad de loguearse? ¿Y es posible leer muchos campos de la tabla sin necesidad de que sea una coordinada en especifica Ej: GE 108, o necesariamente debe contener una cabecera?

    • @puntojson
      @puntojson  25 дней назад

      Para evitar la autenticación tenés que usar lo que se llama una "service account" que es un usuario que se crea para poder acceder a ciertos recursos privados desde código. Lamentablemente Google deprecó la manera de hacerlo desde javascript en frontend, tenés que hacerlo desde algún backend, sino no sería seguro.
      Y sí, se puede leer muchos campos de la tabla, pero vas a tener que dar una coordenada, aunque sea sin fila (podés dar la columna sola).
      Sino si la hoja de cálculo está pública se puede leer todo el archivo de una con un link de sheets que te exporta el archivo en csv (buscalo).

    • @DanielIsaiasDeDiosGomezGajardo
      @DanielIsaiasDeDiosGomezGajardo 25 дней назад

      ​@@puntojson​Muchas gracias por tu ayuda, revisare lo que comentas. Muy bueno tu canal ¡Sigue así!

  • @romiwendling3320
    @romiwendling3320 Год назад

    Genial! GRan explicación, te consulto: Necesito poder mostrar la info del google sheets en el front online, pero sin que nadie se tenga que autentificar. Qué cambios debería hacer?

    • @puntojson
      @puntojson  Год назад

      Gracias! El método más sencillo sería dejar la hoja pública. Eso hace que puedas leer el link sin siquiera usar la librería de Google sheets, descargandote el archivo separado por comas (csv). En ese caso este tutorial no te estaría sirviendo 😞
      Aunque no estoy seguro pero quizás se pueda leer una hoja pública directamente con la librería de sheets antes de iniciar sesión, habría que probarlo 👀

  • @agustinsosa8593
    @agustinsosa8593 11 месяцев назад

    che me encanto pero vos sabes que en el minuto 14:56 cuando decis que "Las funciones que se pasan como argumento a los parentesis addEventListener deberian no tener los parentesis" bueno justamente cuando ponia eso sin parentesis hacia que no se vieran los botones de auth. Y en al consola no tiraba error btw de ningun tipo.

    • @puntojson
      @puntojson  11 месяцев назад

      mmmmmmmmmm que quede este comentario por si hay gente con el mismo problema!
      A mí obviamente me funcionó como lo hice en el video :/

    • @agustinsosa8593
      @agustinsosa8593 11 месяцев назад +1

      @@puntojson igual por las dudas yo soy re nuevo en esto de programacion. Recien estoy empezando con las apis y demas jajajaja asi que no se fien de mi ahre gracias por el tuto esta genial!!!!

  • @amaca77
    @amaca77 10 месяцев назад

    excelente tutorial! que recomendarias para tener una aplicación similar que corra automaticamente desde un servidor actualizando Google sheets a partir de otros datos? algo realizado en python , node, o que tipo de app?

    • @puntojson
      @puntojson  6 месяцев назад

      Tanto node como python te pueden servir para eso. Te recomendaría usar la herramienta con la que te sientas más cómodo. No vayas aprendiendo mil lenguajes para cada cosa que quieras. Te conviene por ahí manejarte con poquitos pero que te sirvan para hacer de todo.

  • @asrobotnik
    @asrobotnik 8 месяцев назад

    Gran tutorial! Muchas gracias!
    Si en lugar de tener el index.html en local, lo tuviera alojado en google sites por ejemplo, cómo debería configurar las credenciales de OAuth 2.0? He probado copiando el código de ejemplo de la guía de inicio rápido con JavaScript en una sección de mi página de google sites y cuando presiono en autorizar siempre me da error de "redirect_uri_mismatch"

    • @puntojson
      @puntojson  6 месяцев назад

      Si google sites tiene un IP dinámico entonces es algo que no podrías hacer directo desde front end, sino que tendrías que usar un backend con una direción IP estática.
      Ahora, si resulta que google sites sirve tu página siempre desde el mismo IP, podés entrar a tu google sites y revisar que dirección IP está usando, y usar esa para configurar las credenciales.

  • @PalomoLoops
    @PalomoLoops Месяц назад

    Estaba buscando alguna option que me funcionase como base de datos de un proyecto para un cliente. Es la digitalization de su menu el cual pueda ser accedido mediante qr. Si bien ya esta todo construido. Buscaba una forma sencilla, practica y muy facil de usar al cliente para que se encargue de mantener actualizada su lista de precios y productos. Esto porque no quiero gastarme un gran back porque es algo muy "sencillo" Supongo que esto podria funcionarme y darle el acceso a la google sheet a mi cliente. Cuestiones de que el haga las modificaciones en el sheet y se actualize en el front. No se, si estoy en lo correcto. Cualquier sugerencia te lo agredeceria. Para el front use react asi que seguro avanzare con node.js

    • @puntojson
      @puntojson  25 дней назад

      Buenas! Perdón la tardanza.
      Lo que decís está muy bien, ni siquiera tenés que hacer un sheets privado para eso, total la info que hay es pública.
      Te hacés un sheets público (pero para editar sólo al autor), lo lees sin autenticarte y de ahí construís todo el menú.

  • @AsistenteVirtual-vn9jz
    @AsistenteVirtual-vn9jz Год назад +1

    Muchísimas gracias, si pudieras subir algún tutorial para poder conectar la base de datos de wordpress para que cada vez que realice un cambio en GoogleSheets se refleje en wordpress y viceversa te lo agradecería infinitamente 🙏🏼🥺

    • @puntojson
      @puntojson  Год назад +2

      Buenas! La verdad es que no tengo demasiada idea de como hacer eso. Principalmente porque no escribo en PHP (el lenguaje en el cual se programa en wordpress).
      Sin embargo se me ocurren un par de maneras de encarar el problema si lo hacés a mano:
      1) Hacer todo desde wordpress: Escribir en tu servidor PHP un script que cada X tiempo revise si hay algo nuevo en el sheets y lo agrega a la BD, y que cada vez que vos hagas un cambio desde wordpress que se agregue a sheets.
      2) Hacer todo desde Sheets, para esto habría que usar Google App Scripts (que es casi javascript), en donde creás código para que cuando aprietes un botón se haga una sincronización con Wordpress.
      3) Hacer un programa aparte, en el lenguaje que sepas, que monitoree el sheets y la BD de wordpress para revisar constantemente si hubo algún cambio y replicarlo en el otro lado.
      4) Si querés que todo esté sincronizado a tiempo real, entonces necesitarías 2 scripts, uno en wordpress que actualice el sheets cuando hacés un cambio y uno en google sheets para que actualice el wordpress cuando hacés un cambio.
      Pero si no te molesta hacerlo con herramientas externas, el proceso es muchísimo más sencillo, se pueden hacer automatizaciones con Zapier o herramientas similares:
      zapier.com/apps/wordpress/integrations/google-sheets?gad=1&gclid=CjwKCAjw4ZWkBhA4EiwAVJXwqTDdBO4W3wiMF-2-9zO68k14fgOLhuR8gaGy-a7P_R76DEQkZ8-k8xoCW7kQAvD_BwE
      Espero que todo esto te sirva! Saludos!

    • @AsistenteVirtual-vn9jz
      @AsistenteVirtual-vn9jz Год назад

      @@puntojson muchísimas gracias, espero poder desarrollarlo y en cuanto lo tengan se lo comparto para que usted pueda compartirlo con todos e incluso mejorarlo.

    • @puntojson
      @puntojson  Год назад +1

      Increíble

    • @AsistenteVirtual-q3s
      @AsistenteVirtual-q3s Год назад

      Genial idea, igual necesito lo mismo, espero pronto encontrar algún vídeo sobre ello. 🎉

  • @dennistobio1543
    @dennistobio1543 28 дней назад

    Buenisimo el video!!!.. me gustaria saber como hacer para que la sesion se guarde, en vez de perderla cada vez que recargo la pagina

    • @puntojson
      @puntojson  25 дней назад

      A Google no le gusta eso! Te da un token (sesión) que dura extremadamente poco para que no guardes la sesión. Para mantener una sesión por más tiempo vas a tener que trabajar con un backend, a quienes les dan tokens más largos.

  • @gustavoadolfogomezsandoval1246

    Tengo una pregunta, es posible consultar una fila teniendo en cuenta un dato especifico ubicado en una columna? Algo asi cono un SELECT * FROM Turnos WHERE nombre = "juan"??

    • @puntojson
      @puntojson  Год назад +1

      Si! De hecho hay una manera en donde la consulta estilo sql la podemos poner en la url de la sheet que vamos a consultar, enviando un parámetro "q" (de query) En la url.
      Lo usé hace como 1 mes asique está vigente.
      No estoy como para revisarlo ahora porque no estoy en casa pero buscalo qué existe..!

  • @sergioacosta4242
    @sergioacosta4242 Год назад

    Hola muy buen video! una pregunta hay alguna forma de hacer lo mismo pero sin tener que seleccionar el correo de google y aceptar los permisos manualmente ? algo como configurar esos datos por defecto.

    • @puntojson
      @puntojson  Год назад

      Sí, hay que hacer una "service account" en Google Console y usar esa cuenta para hacer la solicitud a Google. Tendrías que compartir esa Sheet con el mail que se genera para esa service account. Para ese caso no sirve la Google API y vas a tener que hacer todas solicitudes fetch a mano, es bastante molesto la verdad, evidencia que Google no quiere que hagas eso en principio, al menos desde Javascript en frontend. Es más sencillo con las herramientas que Google brinda para lenguajes como Python.
      El peligro de eso es que da a todos los clientes del sitio el mismo permiso.
      Espero que lo logres hacer!

  • @franbertinatti
    @franbertinatti 2 месяца назад

    yo arme algo asi con flask Y pyinstaller, ahora tengo una duda, existe un limite de solicitudes que se puede hacer a la Google Sheets API?

    • @puntojson
      @puntojson  25 дней назад +1

      Sí, existe un límite para la versión gratuita pero es enorme, mucho más de lo que vas a usar de manera personal. Si tenés que hacer ya millones de solicitudes mensuales podés empezar a pagar la API y tener acceso ilimitado.

    • @franbertinatti
      @franbertinatti 25 дней назад

      tenes conocimiento de la api de maps para validar dirección de clientes ?

    • @puntojson
      @puntojson  25 дней назад

      @@franbertinatti No, no trabajé con maps todavía :/
      Pero leyendo acá developers.google.com/maps/documentation/address-validation/overview?hl=es-419#:~:text=With%20the%20Address%20Validation%20API%2C%20you%20can%20determine%20if%20an,to%20your%20customers%20to%20correct. te digo que no parece tan complicado, ya que hay una api hecha exclusivamente para tu caso de uso.

  • @javiermerida8536
    @javiermerida8536 Год назад +1

    Faaaaaa, listo para conseguir trabajo

    • @puntojson
      @puntojson  Год назад +2

      Te aseguro que si en tu portfolio metés algo así tus chances de encontrar laburo suben una banda.
      Más allá de eso, te sirve para empezar a venderte particular!

  • @soyjaider8996
    @soyjaider8996 11 месяцев назад

    Muy buen tutorial, me surgio una duda, probando esto subi la aplicacion web a un servidor web basico, y funcionaba perfecto en navegador de escritorio, sin embargo si utilizo la aplicacion en mi celular no funciona, dice que se ha realizado una solicitud no valida, a este motivo, probe cambiando la vista del celular a escritorio y funciono, no se mucho sobre la api de google si me podrias explicar te lo agradceceria

    • @puntojson
      @puntojson  11 месяцев назад

      Mm puede llegar a ser por tener deshabilitados los popups desde el celu?
      A mí del celu me funciona lo más bien, pero para que aparezca la ventana emergente de google, tengo que ponerle "permitir" a una solicitud que me hace.
      No sé sino que podría ser..!

    • @soyjaider8996
      @soyjaider8996 11 месяцев назад

      @@puntojson muchas gracias por responder, la ventana de confirmacion de permisos de google aparece, sin embargo al darle confirmar no vuelve a la pagina desde donde se ejecuto, sino que manda el mensaje de error de google

    • @puntojson
      @puntojson  11 месяцев назад

      Mmm realmente me dejaste K.O.
      Si me podés copiar y pegar bien el error y explciar mejor el ambiente en el que estás probando todo quizás se me puede ocurrir algo. Pero recién probé la herramienta que hice con este código y me anda bien en el celu, igual que en la PC.

    • @vlv6680
      @vlv6680 11 месяцев назад +1

      hola, yo llegué acá por un error similar, en un con el sheet solo lo veo en el pc, en móvil se ve cortado a la mitad, creo que es un error de sheets que no carga correctamente en celulares

  • @gastonsartini3753
    @gastonsartini3753 Год назад

    Buenas! Muchas gracias por el video. Hay forma de hacerlo pero para el público? Osea un formulario que cualquiera pueda llenar sin tener que iniciar con su cuenta Google? Y que su respuesta me cargue una gsheet?

    • @puntojson
      @puntojson  Год назад

      Buenas! Sí, se puede creando una service account "una cuenta de google para sistemas" que hace que puedas compartir ese sheet con esa cuenta. Y la service account genera un token que se usa a modo de contraseña para loguear a tu usuario. Sin embargo, esa práctica es no recomendada para frontend, ya que requiere que tengas tus credenciales de la cuenta en tu código de vista al cliente, lo cual lo hace inseguro..!
      Si trabajás en backend podés usar la biblioteca de google de nodejs para hacer eso..!

  • @eduardohernanguerrerodextr3899

    Gracias crack!

  • @burgosUc2014
    @burgosUc2014 11 месяцев назад

    Excelente video, de casusalidad tienes info de como usar la información desde una googlesheet para generar graficos e indicadores para desarrolla una dashboard. Seria de gran ayuda saludos

    • @puntojson
      @puntojson  11 месяцев назад

      Buenas! Para eso deberías obtener los datos tal cual lo hacemos acá, y después hay que pasarle el control de crear los gráficos a otra librería, como puede ser Chartjs, Taucharts, Britecharts, etc...
      Lamentablemente no tengo ningún video en el tema (me lo anoto).
      Lo que quiero que te quede claro es que para hacer gráficos de manera sencilla vas a necesitar una librería dedicada sí o sí.

  • @juanmarcelomontiel5433
    @juanmarcelomontiel5433 Год назад

    Hola Punto Json, excelente el tutorial. Tenés hecho uno donde la conección sea con Angular?. Saludos!!

    • @puntojson
      @puntojson  Год назад +1

      Buenas! No, no lo tengo aún.
      Lo que sí te puedo comentar lo siguiente, no hay librería oficial de google api para Angular, por lo cual hay que hacer todo a mano.
      Arrancaría creando un google.service.ts y después de ahí podrías extender esa clase a otra que sea sheets.service.ts
      En el servicio de google escribís todo lo que tenga que ver con autenticación, y el en el servicio de sheets todo lo que tenga que ver con las sheets en particular.
      ¿Me hago entender? Cualquier cosa preguntame!

    • @juanmarcelomontiel5433
      @juanmarcelomontiel5433 Год назад

      Gracias por responder@@puntojson, saludos!!!

  • @urrutia1986
    @urrutia1986 Год назад

    Hola, como puedo hacer para obtener una fila especifica, comparando datos. Por ejemplo extraer la información de un registro específico.

    • @puntojson
      @puntojson  Год назад

      Buenas! En la propiedad "range" que tengo en el llamado a la gapi.clients.spreadsheet.values podés poner los registros que querés buscar. Ahora, si lo querés es buscar algo que no sabés en que fila está, entonces vas a tener que traerte toda la fila y buscar a mano desde el front, por ejemplo utilizando el método .filter con los datos que vienen, no es lo ideal pero no se me ocurre en principio otro método..

  • @dianacristinaaguilardiacri5049
    @dianacristinaaguilardiacri5049 7 месяцев назад

    Veo que ya no existe informacion donde se diga como acceder desde .NET a google todo el codigo que uso dice que la pagina que intento acceder esta bloqueada.

    • @puntojson
      @puntojson  6 месяцев назад

      Buenas!
      Google sigue teniendo su documentación de las apis con .net, asique no creo que esté completamente dada de baja. Seguramente hay otro problema dando vueltas!

  • @JorgeGuzman-be4pp
    @JorgeGuzman-be4pp 6 месяцев назад

    ¿Crear un proyecto en Google Cloud Para estos fines es Gratis?. ¡Muy bueno el video por cierto.!, resuelve muchisimas dudas.

    • @puntojson
      @puntojson  6 месяцев назад +1

      Si! Es gratis hasta un límite de uso mensual, que es altísimo.
      No estoy seguro de que esto sea técnicamente Google cloud, creo que lo que ellos llaman cloud a los servidores virtuales (no estoy seguro).

    • @JorgeGuzman-be4pp
      @JorgeGuzman-be4pp 5 месяцев назад

      @@puntojson Te agradezco tu respuesta

  • @IsaacAvila-bh4oz
    @IsaacAvila-bh4oz 6 месяцев назад

    holaaa tengo una duda, primero que todo tu video me ayudo muchisimo y gracias, pero he creado un formulario y me funciona perfecto en la web del pc, puedo ver informacion del sheets, editar, agregar, eliminar y mas, pero el problema es que al ejecutarlo en la web de un celular despues de publicarlo no funciona, no se me activa la pestaña de concentimiento de ninguna forma, eh intentado hasta agergarlo en un boton para que se ejecute y nada, sabras tu que pueda ser o como poder solucionarlo, solo necesito que funcione en el celular y tendre todo resuelto, espero puedas ayudarme, muchas gracias!!!

    • @puntojson
      @puntojson  6 месяцев назад

      Buenas! Vamos a ver si podemos obtener un poco más de información del problema a ver si vemos para donde arrancamos a solucionarlo.
      1) ¿La ventana emergente se abre en PC cuando tenés el "modo celular" activado en las devtools? Para emular lo que haría un teléfono
      2) ¿No tendrás algún adblocker o bloqueador de ventanas emergentes en el celu? Para descartar un teléfono mal configurado
      3) ¿Probaste en más de un navegador en el celular? Para descartar un navegador que esté funcionando mal
      4) ¿Podés ver si hay algún error en la consola en el celu? - No es tan fácil de ver esto (en chrome es conectando el celu a la pc, o haciendo en js que si hay algún error lo escriba en la página), pero si lo llegás a ver quizás acá se pueda ver claramente el problema.
      Con toda esta info quizás te pueda ayudar!
      Saludos

  • @disparafilm
    @disparafilm Год назад

    Hola, maravilloso video! He conseguido hacer todo lo que quería.
    Solo me queda una duda, ¿existe la posibilidad de que los datos de mi hoja se muestren en mi web sin que el usuario tenga que loguearse con su cuenta de google?

    • @puntojson
      @puntojson  Год назад +1

      Buenas! En principio se puede si la hoja de cálculo está en modo público. Pero significa que cualquiera tiene acceso.
      Hace un tiempo hice esto creando un usuario "programático" que te genera una token qué permitía a un script mío acceder a un sheets privado,por lo cual sé que se puede. Lo que sí eso lo hice hace años y en otro lenguaje de programación asique no estoy seguro como hacerlo en JS.
      Seguramente Google mismo tiene un tutorial para eso.. Y si no está, tendré que hacerlo!

  • @valentinstj8156
    @valentinstj8156 6 месяцев назад

    genial, hay una forma de no tener que logearse, es decir que no haya que dar autorización de google, que simplemente con entrar a la web me carguen los datos, mi idea es hacer una pagina de tiendas pero estas tienen que sacar información de un sheet, cada tienda tendría su sheet y asi poder insertar o quitar productos fácil

    • @puntojson
      @puntojson  6 месяцев назад

      Desde front-end directamente solo se puede si el sheets está público. En ese caso tendrías que cargar el sheets en csv con un fetch (sin usar Google api) y usar esa data.
      Sino necesitás un server de node js o de cualquier otra tecnología, ahí se puede leer hojas privadas con Google apis y una service account.

    • @valentinstj8156
      @valentinstj8156 6 месяцев назад

      @@puntojson claro, la idea es ponerlo en publico para leer si y ya desde el sheet dar permiso a quien puede editarlo, lo voy a intentar asi

  • @siganmelosbuenosok
    @siganmelosbuenosok 7 месяцев назад

    No lo pude hacer andar, será que ahora google cambio como se autentica todo ?

    • @puntojson
      @puntojson  6 месяцев назад

      Es cierto que cambió algunas cosas, no puedo probar el proyecto ahora porque no tengo más esa clave api ni el tengo esa hoja de sheets. :/

  • @BaltazarGandolfo
    @BaltazarGandolfo 7 месяцев назад

    Buenas, como estas?
    Tengo un error cuando le doy al botón de autorizar, directamente no me funciona. A alguien le paso lo mismo?
    Necesito solucionarlo lo antes posible

    • @puntojson
      @puntojson  6 месяцев назад

      Buenas! Perdón la tardanza.
      Me decís que error tenés? Sin eso se complica bastante!

  • @eturbanti_es
    @eturbanti_es Год назад

    Hola, tu contenido es extremadamente interesante y además es lo que yo estaba buscando para solucionar un problema que tengo... pero claro, soy diseñador y no programador y llegado a cierto punto me pierdo o me duermo.. jejeje... sería posible transformar eso en un plugin de Wordpress para que sea fácil implementarlo si conocer código?

    • @puntojson
      @puntojson  Год назад +1

      Me encantó tu comentario! Es lo más común encontrar esto extremadamente aburrido.
      Cuando elegís WordPress hay muchos pros, como la facilidad para hacer cosas sin programar y la "simpleza" de todo, pero hay muchas contras también, en donde se encuentra la que siempre querés hacer algo que no se puede... Las soluciones están, pero siempre pagando y terminás dependiendo de 20 plugins para cualquier sitio simple. Yo esquivo WordPress cada vez que puedo y en parte es porque no me siento cómodo con php. Seguramente alguien puede hacer ese plugin, pero dudo que lo haga gratis, ya que los servicios de Google cambian cada dos por tres y cuesta mantenerlos. Yo por mi parte con lo poco que sé de php y de crear plugins me llevaría muchísimo tiempo crearlo...

  • @valdez7905
    @valdez7905 Год назад

    Buenas tardes, si pongo en x tiempo este revisando si hay cambios del google sheet, hay algun limite de peticiones?
    Buen video ✌🏼

    • @puntojson
      @puntojson  Год назад

      Buenas! Limite hay para el gratuito, pero si no recuerdo mal es altisimo. Dudo que llegues.

  • @pavlopardo
    @pavlopardo Год назад

    se puede hacer con un documento google sheets ya hecho antes?

    • @puntojson
      @puntojson  Год назад +1

      Sí, sin problema. Antes o después, la app y el sheets son 2 cosas individuales que hablan entre sí

    • @pavlopardo
      @pavlopardo Год назад

      @@puntojson gracias !!

  • @andresj4353
    @andresj4353 Год назад

    estan geniales los videos, sabes como conectarse a maps desde tu propia cuenta para sacar datos de navegacion que hiciste? no pude hacerlo yo

    • @puntojson
      @puntojson  Год назад

      Gracias por la buena onda!
      Mmm la verdad es que no lo hice nunca, si está en alguna API, está en "Places" o en la de "Navigation" de Google API (Navigation es dificil de conseguir). developers.google.com/maps/documentation/javascript/places?hl=es-419 . Al ver la documentación parece que no se puede cargar los marcadores de un usuario, pero sí que se pueden mostrar marcadores creados en tiempo de ejecución o en el código, quizás eso te sirve!

    • @andresj4353
      @andresj4353 Год назад

      @@puntojson no me da para entender lo que dijiste pero me pondre a leer. gracias! necesito hacer algun proyecto para hacer un portfolio

    • @puntojson
      @puntojson  Год назад

      @@andresj4353 Ufff perdón por pasarme de dificultad. Si se me ocurre algún buen proyecto que incluya un mapa seguro voy a intentar explicar esto..! Si se te ocurre algo, hablame!

    • @andresj4353
      @andresj4353 Год назад

      @@puntojson no pasa nada, estamos en el camino del autodidacta. podrias hacer un discord y hacer una comuna

  • @user-vj6ve1eq5r
    @user-vj6ve1eq5r Год назад +1

    Excelente video, se podra hacer lo mismo con excel??

    • @puntojson
      @puntojson  Год назад +1

      Si es excel online (desde la nube) sí se puede, no lo hice nunca pero acá comienza la documentación que explica como hacerlo learn.microsoft.com/es-es/sharepoint/dev/general-development/excel-services-rest-api o acá learn.microsoft.com/es-es/sharepoint/dev/general-development/walkthrough-developing-a-custom-application-using-excel-web-services
      Si nunca hiciste algo parecido quizás sea mejor buscar un tutorial online!

    • @user-vj6ve1eq5r
      @user-vj6ve1eq5r Год назад +1

      @@puntojson muchas gracias por la información y excelente video!! 👍🏻

  • @duvanmunoz7752
    @duvanmunoz7752 Год назад

    Saludos, muy buen video una pregunta. Cuando intento iniciar sesión con el correo me dice error 401, acceso bloqueado.. error de autorización podrías ayudarme?

    • @puntojson
      @puntojson  Год назад

      Sí! Fijate que tu correo esté en la lista de correos permitidos en la consola de Google.
      Sino revisá tanto en la consola en la parte de la api y en la de oauth que tu página esté en la lista de orígenes permitidos (yo puse 127.0.0.1) en el video, fijate que dirección tiene tu compu!
      Probalo y avisame!

    • @duvanmunoz7752
      @duvanmunoz7752 Год назад

      @@puntojson Si están en la lista y el origen ya lo verifique con el mío y esta perfecto, pero sigue sin funcionar, que podría ser?

    • @puntojson
      @puntojson  Год назад

      Mmm fijate si el origen lo pusiste sin la S de https.
      Sino la verdad tendría que chequearlo con tiempo y con vista al código 😞
      Lo vas a tener que googlear porque se complica un poco por acá. Sin embargo si estás escribiendo en código abierto podría revisarlo en mi compu.

  • @Dcamposmunoz
    @Dcamposmunoz Год назад

    Hola, como podría utilizar el formulario desde otra IP que no sea servidor local?

    • @puntojson
      @puntojson  Год назад

      Buenas!
      Tenés que saber el IP de tu servidor y ponerlo en la lista blanca de la consola de google. Yo lo uso y no hice nada más que cambiar esa configuración.

  • @franermili8330
    @franermili8330 Год назад

    Hola, ¿Cómo estás? excelente video. Está genial la App... Pregunta, si necesito subir la app web a un servidor real, no serviría este método?

    • @puntojson
      @puntojson  Год назад

      Buenas! Sí, sirve. Yo usé esto para un proyecto real en producción.
      Hay que cambiar las configuraciones de la consola de Google para que funcione desde el sitio web real y ya arranca.

    • @caus_music
      @caus_music Год назад

      @@puntojson Hola! Primero que nada te felicito por tus vídeos, excelente contenido. Segundo, quisiera saber como hiciste esa configuración para un proyecto real en producción. Es decir, como se configura para que cualquier usuario que utilice la app web pueda enviar los datos a Google Sheets?

    • @puntojson
      @puntojson  Год назад

      Buenas Caus, gracias por la buena onda! No termino de entender exactamente que me estás pidiendo que no sea lo que respondí en el comentario anterior.
      Hay muchas variables a la hora de hacer un proyecto como este, por ejemplo:
      Querés que todos los usuarios usen el mismo sheets? Entonces tenés que crear un archivo sheets en modo público para editar (inseguro).
      Querés que cada usuario pueda acceder a sus archivos, pero los usuarios son "desconocidos"? Entonces tenés que publicar la app y Google te la tiene que aprobar.
      Querés evitarte la comprobación de google? Entonces la API la tenés que crear desde una cuenta empresa (que no sea @gmail) y todos los usuarios tienen que ser de tu mismo dominio.
      Si me explicás un poco a dónde estás teniendo problemas voy a hacer lo posible para ayudarrte!

    • @caus_music
      @caus_music Год назад

      @@puntojson Mil gracias por tu respuesta. Lo que quisiera hacer es que cualquier usuario que entre a la app web que ya esté subida en un host, mediante un formulario que diligencia, estos datos lleguen a un archivo google sheets. Para lograr esto que configuración debería realizar? Cabe resaltar que ya logré hacer la conexión en pruebas, quisiera saber que configuración debería realizar en producción.

    • @puntojson
      @puntojson  Год назад +1

      @@caus_music Lo que tenés que hacer primero entonces es entrar a la cloud console, a la parte de api y pantalla de consentimiento y poner que querés que los usuario de la app sean "usuarios externos". Eso re va a requerir crear la pantalla de consentimiento y presentarla a autorizar en google.Una vez tengas eso tenés que entrar a las propiedades de la clave API y cambiar las restricciones de sitio web y poner la URL de tu frontend, también vas a tener que entrar a la pantalla de Oauth y agregar como origenes autorizados tu página.
      Espero que te sea de ayuda!

  • @johanjairjoseperaltaalmeid5850

    Hola, esto también jala los códigos de appsript

    • @puntojson
      @puntojson  Год назад

      Buenas!
      No, en principio no obtiene los script de appscript que tengas, todo lo de Appscript se escribe con las herramientas de Google

  • @dianacristinaaguilardiacri5049
    @dianacristinaaguilardiacri5049 7 месяцев назад

    No consigo como usar este codigo en c# webforms

    • @puntojson
      @puntojson  6 месяцев назад

      Perdón, pero de C# webforms no tengo nada de idea :/

  • @pavlopardo
    @pavlopardo Год назад

    y puedo darle más de un documento? necesito que me lea muchas planillas.
    pd: eres bueno, gracias

    • @puntojson
      @puntojson  Год назад +1

      Si se puede! En el "response = await ..." cargamos un sheets, nada nos prohibe repetir esa líneas y conectarnos a todas las sheets que queramos.

  • @CEDESSMX
    @CEDESSMX 11 месяцев назад

    Pero sera posible no tener que autenticar cada vez?

    • @puntojson
      @puntojson  11 месяцев назад +1

      Sí, podés guardar el token que Google te da en localstorage y utilizarlo para hacer las solicitudes a Google. Para ese caso no sé si usar la librería de Google será lo mejor o si te conviene usar la api de Google con código escrito por vos. Lamentablemente no tengo un ejemplo para darte 😞

    • @CEDESSMX
      @CEDESSMX 11 месяцев назад

      @@puntojson Gracias de todas formas. Excelente tutorial.

  • @Ale-ml4mh
    @Ale-ml4mh Год назад

    Hola Genio espero estés muy bien! yo quisiera poder contactarte para realizar algunas tareas por privado. se trata de un proyecto para mi empresa. y necesito colaboracion para conectar una app web crm con google sheet. muchas gracias por tu contenido

    • @puntojson
      @puntojson  Год назад +1

      Buenas Ale! Que buena noticia!
      Enviame tus datos de contacto a contacto@puntojson.com si querés y charlamos.

  • @technoh4cksoficial
    @technoh4cksoficial 10 месяцев назад

    Hay una forma de hacerlo por medio de appscript

    • @rpmvicmetal8468
      @rpmvicmetal8468 7 месяцев назад

      Es pregunta o afirmación? Me gustaría más información sobre eso de apps scripts, yo traté al principio pero solo me devolvió error de CORS

    • @puntojson
      @puntojson  6 месяцев назад

      Appscript es muy potente y sirve para un montón de cosas. Pero no estoy tan familiarizado con este tema, lo he usado solamente para crear mis funciones personalizadas dentro de una planilla.

  • @dianacristinaaguilardiacri5049
    @dianacristinaaguilardiacri5049 7 месяцев назад

    pero no dice como eliminar una fila

    • @puntojson
      @puntojson  6 месяцев назад

      Puede ser que se me haya escapado eso! Sin revisar supongo que es prácticamente igual que el get y el update, pero usando el método "delete" de la librería gapi.

  • @gober4662
    @gober4662 6 месяцев назад

    Utilizar esto, es gratis?

    • @puntojson
      @puntojson  6 месяцев назад

      Sí! Pero tenés un límite de uso, que si sos una empresa chica te mega sobra. No lo recuerdo ahora pero hacé de cuenta que son millones de usos por mes

  • @GonzaloMiranda-wh7mv
    @GonzaloMiranda-wh7mv 8 месяцев назад

    Pesimo me da Error 401: invalid_client y ahi quede :(

    • @puntojson
      @puntojson  6 месяцев назад

      Veo que hay mucha gente con problemas, voy a tener que hacer un tutorial nuevo!

  • @maxpuig1967
    @maxpuig1967 3 месяца назад

    Gente guraden las claves en un archivo .env y las importaan donde necesiten, asi no se filtran

    • @puntojson
      @puntojson  3 месяца назад

      Cuando estamos en frontend el .env no hace nada! Todos los datos que van en una solicitud a un server se pueden ver desde la pestaña "red" del inspector, asique no son privadas.
      Si hay que manejar datos privados, hay que hacer un server de backend o manejarse por otro lado. En frontend las variables secretas no existen.