12

Ho visto numerosi articoli su questo argomento ma sembrano obsoleti, ad esempio nessuno degli URL dei fogli di lavoro di Google Documenti ha parametri chiave. Ho letto anche questo: JSON data from google spreadsheetFoglio di lavoro di Google Documenti su JSON

poi ho letto questo per accedere ai dati esiste https://developers.google.com/gdata/samples/spreadsheet_sample

mio foglio di calcolo: https://docs.google.com/spreadsheets/d/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/edit#gid=0

Ho provato con questo codice, penso di avere un problema con la chiave o la sintassi, guidi per correggere.

<script src="http://spreadsheets.google.com/feeds/feed/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/worksheet/public/basic?alt=json-in-script&callback=importGSS"></script> 

<script type="text/javascript"> 

    function importGSS(json) { 
     console.log('finished'); 
    } 
</script> 

risposta

11

L'attributo src nel tag script è un link non valido (e si può vedere questo per te da viewing your link directly in a browser).

La sezione feed/key/worksheet dell'URL ha il diritto key ma il feed errato e worksheet.

Nell'URL, sostituire "feed" con "cells" (valore separato per ogni cella) o "list" (valore separato per ogni riga).

Allo stesso tempo, sostituire "worksheet" con "od6" (che indica la sinistra, o di default, foglio - cfr this blog post per accedere altri fogli).

Se si view this new URL directly in a browser, è possibile vedere che restituisce un valore significativo.

tuo tag script finale potrebbe essere simile a questo:

<script src="https://spreadsheets.google.com/feeds/list/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/od6/public/values?alt=json-in-script&callback=importGSS"></script> 

Per ulteriori informazioni, si può vedere un esempio sul Google Developers site

+0

grazie, sta funzionando, si può spiegare l'utilizzo di cellule o la lista con un esempio, e denominato 0d6 come il più a sinistra foglio di default, come per accedere ad altri fogli nel caso, 0d6 sembra come un codice ottale per il foglio dato. – user2727195

+0

grazie per la modifica, ma ti preghiamo di spiegare la differenza tra "celle" e "elenco" e come facevamo a sapere che 0d6 si riferisce al primo foglio, come faccio a trovare i codici per il resto dei fogli se c'è – user2727195

+0

@ user2727195 - qui un [post di blog per trovare altri ID di foglio di lavoro] (http://damolab.blogspot.com/2011/03/od6-and-finding-other-worksheet-ids.html) – sfletche

1

APISpark PaaS ha una funzione per creare e distribuire un API JSON personalizzato basato su un GSpreadsheet. Ciò potrebbe aiutarti e darti più controllo sull'API web (supporto CORS, autenticazione, dominio personalizzato e così via).

Vedere il tutorial qui: https://apispark.com/docs/tutorials/google-spreadsheet

0

si può considerare utilizzare in alternativa a questa richiesta dei dati del foglio, perché questo metodo è deprecato. In ogni caso, è ancora possibile utilizzare un altro formato di feed, è possibile vedere questo alternative in: https://spreadsheets.google.com/feeds/worksheets/your-spreadsheet-id/private/full

In quel risultato si può vedere tutti i formati di esportazione sono disponibili. Può aiutarti un formato di visualizzazione CSV o alt JSON?

0

Un'altra possibile soluzione è utilizzare questo https://gist.github.com/ronaldsmartin/47f5239ab1834c47088e per avvolgere il foglio di calcolo esistente.

Aggiungi il parametro id e sheet html all'URL qui sotto.

https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec

Ad esempio: il vostro id solamente dell'ID di foglio che è

1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I

e il foglio che è

Sheet1

Nel tuo caso si può effettivamente vedere i dati (che funzioni) qui come JSON a

https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec?id=1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I&sheet=Sheet1

Per essere sicuri, è necessario distribuire il codice sheetAsJson.gs nel succo github sopra come il proprio in Google Drive .

0

Hai molte risposte possibili sopra. Per coloro che vengono di nuovo, se siete alla ricerca di un generatore di JSON più controllato, controlla questo succo:

JSONPuller

Ci vuole in un foglio di calcolo e restituisce un array di oggetti, con l'alberato che si decide come le intestazioni (default a qualsiasi linea è congelato)

Cheers,