2016-06-18 51 views
21

スプレッドシートの例を使用してGoogleスプレッドシートにアクセスしようとしています。サンプルコードを実行するとうまくいきました。私はちょうどSpreadsheetIdと範囲を変更します。それは私を与え始め:GoogleスプレッドシートAPI、400エラー不正リクエスト:範囲を解析できません

以下
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) 

はコードです:あなたはワークシートが「クラスと題されていることがわかりますitselfシートを見れば

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

答えて

44

A2:A4

+1

それは私のために働いてくれてありがとう。 –

+0

特定のスプレッドシートにアクセスしたいのですがどうすればいいですか? \t ValueRangeレスポンス= service.spreadsheets()。values() \t \t .get(スプレッドシートID、範囲) \t \t .execute();現在私はこれを使用してデータを取得しています –

+7

例では、 'Class Data'がワークシートの名前だったようです。その名前のシートがない場合、エラーをスローします。 @HemantYadavあなたがスプレッドシートを言うとき、あなたはワークシートを意味しますか?スプレッドシートの場合は、スプレッドシートIDを指定します。ワークシートの場合は、 "NameOfWorksheet!A2:A4"のような範囲で指定します。NameOfWorksheetはスペースを含むワークシートの名前です。 NameOfWorksheetと感嘆符を省略すると、最初のワークシートに移動します。 – zeta

9

Class Data!A2:A4を交換してみてくださいデータ"。だから、あなたのシートの名前を "Class Data"と書いてください。例: 文字列範囲= "シート名!A1:C";

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

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

私は、手動でスプレッドシートにEmmettという名前のシートを作成しなければならなかったし、それは魅力のように働いた。

関連する問題