2016-06-18 48 views
21

Sto tentando di accedere a fogli di lavoro Google utilizzando un esempio di foglio di calcolo. Quando eseguo il codice di esempio, ha funzionato bene. Ho appena modificato l'SpreadsheetId e l'intervallo. Mi cominciò a dare:API foglio di lavoro Google, 400 richiesta errata errore: impossibile analizzare intervallo

Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request 
{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "global", 
    "message" : "Unable to parse range: Class Data!A2:A4", 
    "reason" : "badRequest" 
    } ], 
    "message" : "Unable to parse range: Class Data!A2:A4", 
    "status" : "INVALID_ARGUMENT" 
} 
    at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146) 
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113) 
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321) 
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1065) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469) 
    at poc.mainPOC.main(mainPOC.java:157) 

Di seguito si riporta il codice:

String spreadsheetId = "my spread sheet ID"; 
    String range = "Class Data!A2:A4"; 
    ValueRange response = service.spreadsheets().values() 
     .get(spreadsheetId, range) 
     .execute(); 

risposta

44

provare a sostituire Class Data!A2:A4 con A2:A4

+1

Ha funzionato per me grazie. –

+0

voglio accedere a un foglio di calcolo particolare come posso farlo? \t ValueRange risposta = service.spreadsheets() (valori) \t \t .get (spreadsheetId, gamma) \t \t .execute().; Attualmente sto usando questo per ottenere i dati –

+7

Nell'esempio sembra che "Dati di classe" fosse il nome del foglio di lavoro. Se non ci sono fogli con quel nome, allora genera l'errore. @HemantYadav quando dici foglio di calcolo, intendi foglio di lavoro? Se è un foglio di calcolo, fornisci l'ID del foglio di lavoro. Se è un foglio di lavoro, lo fornisci nell'intervallo come "NameOfWorksheet! A2: A4" dove NameOfWorksheet è il nome del foglio di lavoro inclusi gli spazi. Omettendo il NameOfWorksheet e il punto esclamativo, si passa al primo foglio di lavoro. – zeta

9

Se si guarda il foglio itself si noterà che il foglio di lavoro si intitola "Class Dati". Quindi metti il ​​nome del tuo foglio dove è scritto "Dati di classe". Esempio: Intervallo di stringhe = "SheetName! A1: C";

0

Stavo cercando di aggiungere alcuni dati a un foglio di nome Emmett che ancora non esisteva e stavo ricevendo questo errore:

Error: Unable to parse range: Emmet!A2:C12

ho dovuto creare manualmente il foglio di nome Emmett nel foglio di calcolo e quindi Ha funzionato come un fascino.