2014-07-02 23 views
23

Provo a ricevere il JSON di un foglio di calcolo di Google. Ha funzionato fino a qualche giorno fa. Per il foglio di lavoro predefinito funziona ancora, ma non per tutti gli altri fogli di lavoro.Recupera foglio di lavoro Google Foglio di calcolo JSON

Questo è l'URL di lavoro per il foglio di lavoro di default: https://spreadsheets.google.com/feeds/list/1caRqAA1TyBoZ0eVZvvKheEBh9SGRmQII4qih9urY70k/od6/public/full?alt=json

e questo è l'URL del foglio di lavoro che ha smesso di funzionare: https://spreadsheets.google.com/feeds/list/1caRqAA1TyBoZ0eVZvvKheEBh9SGRmQII4qih9urY70k/1416241220/public/full?alt=json

Il messaggio di errore è Invalid query parameter value for grid_id.

unica differenza è il foglio di lavoro parametro (od6 vs 1416241220).

Qualche idea sul perché quell'errore si verifica all'improvviso?

+1

[Vedi qui per la risposta dettagliata] (http://stackoverflow.com/a/26774243/1922144) – davidcondrey

risposta

50

Nota del ChrisPeterson:

È possibile utilizzare foglio di lavoro di numero di posizione (1 per il primo foglio di lavoro/default, 2 per il secondo foglio di lavoro).

risposta originale

mi sono imbattuto lo stesso problema e sono riuscito a trovare la mia via d'uscita. Sembra che abbiano cambiato di recente l'id per ogni foglio di lavoro.

È possibile trovare il nuovo ID al seguente

https://spreadsheets.google.com/feeds/worksheets/YOUR_SPREADSHEET_ID/private/full

ho ottenuto qualcosa come o3laxt8 tra <id> tag

Ps: od6 e default valori saranno sempre lavorare e reindirizzare al primo foglio di lavoro di il tuo documento nota

Joe Germuska':

od6 non funziona più

Sembra funzionare di nuovo.

+0

Impressionante, grazie! :) – roka

+1

OMG LeonardDrs sei una manna ... ti mando molto molto karma –

+6

Ho usato l'ID del foglio di lavoro specificato dal parametro URL gsh = 1816064743' docs.google.com quando modifica il foglio di calcolo, ma 1816064743 ha smesso di funzionare di recente. L'ho sostituito con il numero di posizione del foglio di lavoro (1 per il primo foglio di lavoro/predefinito, 2 per il secondo foglio di lavoro). Questo ha risolto la mia domanda. :) –

1

Mi piacerebbe condividere un esempio concreto perché trovo che ci siano abbastanza istruzioni confuse là fuori compresi gli ID delle risposte e dei fogli di lavoro accettati e dove metterli non evidenti.

Ecco un documento che ho pubblicato e chiunque abbia il link può visualizzare:
https://docs.google.com/spreadsheets/d/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/edit?usp=sharing

Il documento deve essere pubblicato in modo corretto. Ci sono due pulsanti di pubblicazione e il primo non funziona per questa attività. Usa il secondo.

enter image description here

Il KEY documento è importante. Ottenere la chiave tra il /d/ e il /edit nell'URL. Nel mio esempio, la chiave è 1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c.

In secondo luogo, utilizzare il seguente stile URL, sostituendo CHIAVE con il proprio:

https://spreadsheets.google.com/feeds/list/KEY/od6/public/values?alt=json 

mio esempio collegamenti URL direttamente a JSON pubblicato:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/od6/public/values?alt=json

Infine, se il foglio di lavoro ha più fogli (o schede), sostituire od6 nell'URL con un numero. Il mio esempio ha due schede, quindi ci sono due URL corrispondenti a una delle due schede. Ho semplicemente sostituire od6 con 1 e 2 a seconda dell'ordine dei fogli:

Tab 1:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/1/public/values?alt=json

Tab 2:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/2/public/values?alt=json


Nel caso di un foglio di lavoro in cui le schede vengono riordinate di frequente, è possibile ottenere l'ID di un determinato foglio e utilizzarlo al posto dei numeri ordinati. Ho imparato di questo approccio da questo post o questo post:

In breve, si dovrebbe riformare un URL privato con la tua chiave:

https://spreadsheets.google.com/feeds/worksheets/KEY/private/full 

Questo funziona solo su un browser in cui si è connessi a Google Drive su un account con autorizzazioni.

successivo, è necessario vagliare attraverso XML per trovare gli ID trasferimenti:

enter image description here

Sostituire il precedente 1 e 2 con gli ID, ad esempio:

Tab 1 (primo foglio id in un nuovo foglio google è sempre od6 per impostazione predefinita, indipendentemente dall'ordine delle schede): https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/od6/public/values?alt=json

Scheda 2:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/ope57yg/public/values?alt=json

Problemi correlati