2016-09-22 26 views
0

autoResizeDimensionsを使用して列を自動サイズ変更する方法を知りたいと思います。次autoResizeDimensionsRequestを使用したJavaのGoogleスプレッドシートの例

List<Request> requests = new ArrayList<>(); 

     AutoResizeDimensionsRequest autoResizeDimensions = new AutoResizeDimensionsRequest(); 
     requests.add(new Request() 
       .setAutoResizeDimensions(autoResizeDimensions)); 
     BatchUpdateSpreadsheetRequest batchUpdateRequest = new BatchUpdateSpreadsheetRequest() 
       .setRequests(requests); 
     SHEETS.spreadsheets().batchUpdate(spreadsheetId, batchUpdateRequest) 
       .execute(); 

は私も列に特定の幅を設定することに興味があり、次のエラーメッセージ

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request 
{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "global", 
    "message" : "Invalid requests[1].autoResizeDimensions: Only the COLUMNS dimension is supported", 
    "reason" : "badRequest" 
    } ], 
    "message" : "Invalid requests[1].autoResizeDimensions: Only the COLUMNS dimension is supported", 
    "status" : "INVALID_ARGUMENT" 

を返します。私はjavaを使用している例は見つかりませんでした。誰かが1つに出くわしたり、それについて何も気にしないことを知っていれば。 setAutoResizeDimensions

requests.add(new Request() 
       .setAutoResizeDimensions(autoResizeDimensions 
         .setDimensions(dimensions))); 

しかし、私は次のエラー

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request 
{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "global", 
    "message" : "Invalid value at 'requests[3].auto_resize_dimensions.dimensions.dimension' (TYPE_ENUM), \"A1:C6\"", 
    "reason" : "badRequest" 
    } ], 
    "message" : "Invalid value at 'requests[3].auto_resize_dimensions.dimensions.dimension' (TYPE_ENUM), \"A1:C6\"", 
    "status" : "INVALID_ARGUMENT" 

おかげ Conteh

を得ているとの

DimensionRange dimensions = new DimensionRange().setDimension("A1:C6"); 

そのコードに

また、私が追加したsetDimensions

+0

何についての上記のdoesnを仕事は? –

+0

@SamBerlin、私はいくつかの編集をしました。うまくいけばそれはより明確です。 – conteh

答えて

1

失敗はすべて同じ理由から生じる:AutoResizeDimensionRequestが正しく設定されていない。

要求のサイズを変更する必要があるかどうかをリクエストするには、有効なDimensionRangeをリクエストのdimensionsフィールドに入力する必要があります。 DimensionRangeのドキュメントは、それが目的だ説明:要求がDimensionRange.dimensionフィールドがDIMENSION_UNSPECIFIEDのデフォルト値を使用していることを意味デフォルトDimensionRangeを、使用しているためA range along a single dimension on a sheet. All indexes are zero-based. Indexes are half open: the start index is inclusive and the end index is exclusive. Missing indexes indicate the range is unbounded on that side.

最初のエラー("Invalid requests[1].autoResizeDimensions: Only the COLUMNS dimension is supported")があります。このフィールドは、タイプDimensionの列挙型で、デフォルト値はDIMENSION_UNSPECIFIEDです。したがって、エラーメッセージは「COLUMNSのみがサポートされています」と暗黙のうちに「... DIMENSION_UNSPECIFIEDまたはROWSを指定しました」と表示されます。

dimensionフィールドにA1範囲を書き込んだため、2番目のエラー("Invalid value at 'requests[3].auto_resize_dimensions.dimensions.dimension' (TYPE_ENUM), \"A1:C6\"")が発生しています。エラーメッセージは、「あなたは私に無効な値を与えました。私は列挙型ですが、A1:C6を与えました。これは有効な列挙型ではありません。 dimensionため

有効な値はROWSまたはCOLUMNSある(とAutoResizeDimensionRequestあなたがCOLUMNSを指定する必要があります)。さらに、sheetId(列のサイズを変更するシートのID)と、サイズを変更する列のstartIndexendIndexを指定します。あなたは自動的に行0と1のサイズを変更したい場合

たとえば、あなたが使用します。 AutoResizeDimensionsRequest autoResizeDimensions = new AutoResizeDimensionsRequest(); DimensionRange dimensions = new DimensionRange().setDimension("COLUMNS").setStartIndex(0).setEndIndex(2); autoResizeDimensions.setDimensions(dimensions); endIndex2あるエンド・インデックスは排他的であるため、一方、インデックスが含まれています開始。)

+0

ここでは、列の自動サイズ変更のレシピを見ることができます:https://developers.google.com/sheets/samples/rowcolumn#automatically_resize_a_column –

関連する問題