es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo crear un rango ilimitado para las funciones en la nube?

Estoy creando una función en la nube para leer una hoja de cálculo de Google y quiero usar un rango ilimitado. ¿Es eso posible?

La idea es leer la hoja de cálculo de Google y enviar los datos a Firebase.

Sé que en las hojas de cálculo de Google puedo usar algo como “Shets1!A2:L”.

Mi función sería algo así:

exports.readsheets_Filmes = functions.https.onRequest(async (request, response) => {
    const jwtClient = new google.auth.JWT({
        email: serviceAccount.client_email,
        key: serviceAccount.private_key,
        scopes: ['https://www.googleapis.com/auth/spreadsheets']
    })

    await jwtClient.authorize() // Autorización para acceso

    const {data} = await sheets.spreadsheets.values.get({
        auth: jwtClient,
        spreadsheetId: '',
        range: `Shets!A2:L`,
    })

    data.values?.forEach(row => {
        const [title, main_genre, genre_two] = row
        firestore.collection("Filmes").doc().set({
            title, main_genre, genre_two
        })
    })
})

He creado estas funciones usando TypeScript.

¿Alguien sabe cómo resolver este problema?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible utilizar un rango ilimitado al leer una hoja de cálculo de Google utilizando la API de Google Sheets. Puedes utilizar la cadena de rango "Sheet1!A:L" para obtener todos los datos en las columnas A a L de Sheet1, donde "Sheet1" es el nombre de la hoja que deseas leer.

    En tu Cloud Function, puedes modificar el parámetro range en el método spreadsheets.values.get() a "Sheet1!A:L" de la siguiente manera:

    const {data} = await sheets.spreadsheets.values.get({
      auth: jwtClient,
      spreadsheetId: "",
      range: "Sheet1!A:L",
    })
    

    Esto obtendrá todos los datos en las columnas A a L de Sheet1 de la hoja de cálculo identificada por spreadsheetId. Luego puedes procesar los datos y enviarlos a Firebase según sea necesario.

    Ten en cuenta que utilizar un rango ilimitado puede ser ineficiente si tu hoja de cálculo contiene una gran cantidad de datos, y puede llevar más tiempo obtenerlos y procesarlos. Es posible que desees considerar el uso de un rango más específico si es posible.

Comments are closed.