top of page

COMO INTEGRAR GOOGLE SHEETS CON WIX GRATIS | CODE


Hey, cómo vamos? Aquí les traigo este nuevo tutorial COMO INTEGRAR GOOGLE SHEETS CON WIX STUDIO. Podrás traer la información desde tu hoja de google hasta tu sitio en Wix gratis!

VER PRIMERO ESTE VÍDEO




CONTINUA CON EL TUTORIAL ->



CODE backend - getData.web.js
import { getValues } from '@velo/google-sheets-integration-backend';
import wixSecretsBackend from "wix-secrets-backend";

import { Permissions, webMethod } from "wix-web-module";

export const getSecretSheetId = webMethod(
    Permissions.Anyone,
    async () => {
        const id = await wixSecretsBackend.getSecret("sheetId");
        return id;
    }
)

export const getValuesWrapper = webMethod(
    Permissions.Anyone,
    async (range) => {
        try {
            validateRange(range);
            try {
                const sheetId = await getSecretSheetId();
                const result = await getValues(sheetId, range);
                const response = result.data.values;
                return response;
            } catch (err) {
                return Promise.reject("Get values failed. Info: " + err);
            }
        } catch (validationError) {
            return Promise.reject(validationError.toString());
        }
    }
)

export const validateRange = webMethod(
    Permissions.Anyone,
    (range) => {
        const regex = /([a-zA-Z0-9:!]+)/g;
        const match = range.match(regex);
        if (!match || match.length !== 1 || match[0] !== range) {
            throw new Error(`Input range is invalid (got: ${range})`);
        }
    }
)



CODE HOME (FRONTEND)
import { getValuesWrapper } from "backend/getData.web.js";

$w.onReady(function () {
    registerHandlers();
});

function registerHandlers() {
    $w("#getButton").onClick(() => getValuesFromSheet());
}

function setDataRepeater(dataObject) {
	dataObject.map((item, index)=> item._id = `tx${index}` )
    $w("#repeater1").data = dataObject;
    $w("#repeater1").onItemReady(($item, itemData, index) => {
        $item("#nombre").text = itemData.nombre;
        $item("#apellido").text = itemData.apellido;
        $item("#email").text = itemData.email;
        $item("#genero").text = itemData.genero;
    })
}

async function getValuesFromSheet() {
    try {
        const data = (await getValuesWrapper("A1:E6"));
        console.log("response", data);
        const headers = data[0];
        const rows = data.slice(1);

        let repeaterData = [];
        rows.forEach((row) => {
            const repeaterItem = {};
            row.forEach((col, index) => {
                repeaterItem[headers[index]] = col;
            })
            repeaterData.push(repeaterItem)
        })
        setDataRepeater(repeaterData)

        // $w("#nameOutput").value = nombre;
        // $w("#emailOutput").value = email;
    } catch (err) {
        showMessage(err.toString());
    }
}

function showMessage(msg) {
    $w("#showMsg").text = msg;
    $w("#showMsg").expand();
    setTimeout(() => {
        $w("#showMsg").collapse();
    }, 5000);
}

Gracias por llegar hasta aquí, deja tus comentarios!



4 Comments


Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду — скоріше, для порівняння та пошуку контрасту між подачею. Можливо, хтось іще знайде серед них щось цікаве або принаймні нове. Головне — мати з чого обирати. Мкх5гнк w69 п53mpкгчгч d23 46нчн47чоу tmp3 жт41жкрсд54s7vbs4nwe19b4 k553452ппкн совн43вжмг r19 рдr243633влквn7c123a01h15t212x5 cb1 т3538пдпс кмол Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду —…

Like

Мкх5гнк w69 п53mpкгчгч d23 46нчн47чоу tmp3 жт41жкрсд54s7vbs4nwe19b4 k553452ппкн совн43вжмг r19 рдr243633влквn7c123a01h15t212x5 cb1 т3538пдпс кмол Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду — скоріше, для порівняння та пошуку контрасту між подачею. Можливо, хтось іще знайде серед них щось цікаве або принаймні нове. Головне — мати з чого обирати.

Like

Luis Miguel Munoz
Luis Miguel Munoz
Oct 31, 2025

hola excelente gracias por tomarte el tiempo, te pregunto esos códigos sirven para cualquier sheets que tenga o son específicamente los que hicistes? debo copiar algo en ese codigo o estan directos para copiar y pegar ? gracias


Like

bottom of page