web-dev-qa-db-ja.com

GoogleスプレッドシートAPI、400エラーの不正なリクエスト:範囲を解析できません

スプレッドシートの例を使用して、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)

以下にコードを示します。

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

Class Data!A2:A4 with A2:A4

88
ritesh.garg

シートを見ると、 itself ワークシートのタイトルが「クラスデータ」であることがわかります。そのため、「クラスデータ」と呼ばれる場所にシートの名前を入力します。例:String range = "SheetName!A1:C";

13
Boom3k

タブの名前にタイプミスがあったときに、このエラーに遭遇しました。あなたの場合、「クラスデータ」はタブの名前と一致しませんでした

2
CodingYourLife

Emmettという名前のシートにデータを追加しようとしていましたが、このデータはまだ存在せず、このエラーを受け取っていました。

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

スプレッドシートでEmmettという名前のシートを手動で作成する必要がありましたが、それは魅力的に機能しました。

2
slifszyc

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

Class Dataはワークシートの名前、FYI:下部のタブの名前、デフォルトは「Sheet1」です。置換Class Data作業したいものと一緒に。

0
Tan Phan