2014-05-13 20 views
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,

Problemi correlati