web-dev-qa-db-fra.com

API de feuille de calcul Google, erreur 400 mauvaise requête: impossible d'analyser la plage

J'essaie d'accéder aux feuilles de calcul Google à l'aide d'un exemple de feuille de calcul. Lorsque j'ai exécuté l'exemple de code, cela a bien fonctionné. Je change juste le SpreadsheetId et la plage. Ça a commencé à me donner:

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)

Voici le code:

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

Essayez de remplacer Class Data!A2:A4 avec A2:A4

88
ritesh.garg

Si vous regardez la feuille elle-même , vous remarquerez que la feuille de travail est intitulée "Données de classe". Il suffit donc de mettre le nom de votre feuille où est dit "Class Data". Exemple: String range = "SheetName! A1: C";

13
Boom3k

J'ai rencontré cette erreur lorsque j'ai eu une faute de frappe au nom de l'onglet. Dans votre cas, "Données de classe" ne correspond pas au nom de l'onglet

2
CodingYourLife

J'essayais d'ajouter des données à une feuille nommée Emmett qui n'existait pas encore et recevais cette erreur:

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

J'ai dû créer manuellement la feuille nommée Emmett dans la feuille de calcul, puis cela a fonctionné comme un charme.

2
slifszyc

String range = "Class Data!A2:A4";

Le Class Data est le nom de votre feuille de calcul, pour info: le nom sur l'onglet en bas, celui par défaut est "Sheet1". Remplacer Class Data avec celui avec lequel vous souhaitez travailler.

0
Tan Phan