Saltar al contenido

Google Sheets API: ¿Cómo “publicar en la web” para una hoja incrustable?

El paso a paso o código que verás en este artículo es la solución más fácil y válida que encontramos a tus dudas o dilema.

Solución:

Después de buscar a través de toda la API de Sheets, buscar en Google y solo un examen de conciencia general, no tuve más remedio que incluir la API de Drive y usarla para hacer mis ofertas. Aquí está la solución que se me ocurrió. Espero que esto ayude a alguien más por ahí!

Usé este script de Google para la biblioteca JS del lado del cliente en el index.html expediente:


  ...
  

Luego, para las cosas de JS:

// Cache the api's into variables.
var sheets = gapi.client.sheets;
var drive = gapi.client.drive;

// 1. CREATE NEW SPREADSHEET
sheets.spreadsheets.create(
  properties: 
    title: 'new-sheet'
  
).then(function(newSpreadSheet) 
  var id = newSpreadSheet.result.spreadsheetId;

  // 2. PUBLISH SPREADSHEAT VIA DRIVE API
  drive.revisions.update(
    fileId: id,
    revisionId: 1
  , 
    published: true, // <-- This is where the magic happens!
    publishAuto: true
  ).then(function() 

    // 3. DISPLAY SPREADSHEET ON PAGE VIA IFRAME
    var iframe = [
      ''
    ].join('');

    // We're using jQuery on the page, but you get the idea.
    $('#container').html($(iframe));
  );
);

Como ha concluido, no es posible a través de Sheets API hoy y solo es posible a través de Drive API (usando el PATCH https://www.googleapis.com/drive/v3/files/fileId/revisions/revisionId solicitud, documentada en https://developers.google.com/drive/v3/reference/revisions/update).

Nos puedes defender nuestro cometido dejando un comentario o dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 3.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *