Google电子表格API,400错误错误请求:无法解析范围

Hem*_*dav 40 java google-sheets google-api-client

我正在尝试使用电子表格示例访问Google电子表格.当我运行示例代码时,它工作正常.我只是改变了SpreadsheetId和范围.它开始给我:

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)
Run Code Online (Sandbox Code Playgroud)

以下是代码:

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

小智 97

尝试更换Class Data!A2:A4A2:A4

  • 在示例中,似乎"类数据"是工作表的名称.如果没有具有该名称的工作表,则会抛出错误.@HemantYadav当你说电子表格时,你的意思是工作表吗?如果是电子表格,那么您提供spreadsheetId.如果是工作表,则在"NameOfWorksheet!A2:A4"范围内提供它,其中NameOfWorksheet是包含空格的工作表的名称.通过省略NameOfWorksheet和感叹号,它将转到第一个工作表. (18认同)

Boo*_*m3k 14

如果您查看工作表本身,您会注意到工作表标题为"类数据".所以只需将工作表的名称放在"Class Data"中.示例:String range ="SheetName!A1:C";


小智 8

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

Class Data是您的工作表的名称,仅供参考:底部选项卡上的名称,默认为“Sheet1”。替换Class Data为您要使用的那个。