作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Smartsheet API 用 Java 编写一个简单的程序,该程序遍历相当大的工作表并缩进某些行。这是一些类似于我正在使用的代码。
Smartsheet smartsheet = new SmartsheetBuilder().setAccessToken("[My Access Token]").build();
sheetId = 00000000000000; // My Sheet ID
Sheet sheet = smartsheet.sheetResources().getSheet(sheetId, null, null, null, null, null, null, null);
List<Row> rows = sheet.getRows();
Row row = new Row();
row.setId(rows.get(2).getId()); // Updating the second row of the sheet.
row.setIndent(1);
row.setParentId(rows.get(1).getId()); // Set the parent as the row immediately above (which is not indented).
Cell cell = new Cell();
cell.setColumnId(rows.get(1).getCells().get(0).getColumnId());
cell.setValue("Test");
List<Cell> cells = Arrays.asList(cell);
row.setCells(cells);
rows = Arrays.asList(row);
smartsheet.sheetResources().rowResources().updateRows(sheetId, rows);
当我运行它时,我总是在最后一行收到以下错误。
Exception in thread "main" com.smartsheet.api.InvalidRequestException: Invalid row location.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.smartsheet.api.internal.AbstractResources$ErrorCode.getException(AbstractResources.java:147)
at com.smartsheet.api.internal.AbstractResources.handleError(AbstractResources.java:894)
at com.smartsheet.api.internal.AbstractResources.putAndReceiveList(AbstractResources.java:745)
at com.smartsheet.api.internal.SheetRowResourcesImpl.updateRows(SheetRowResourcesImpl.java:252)
at Test3.main(Test3.java:67)
缩进似乎是造成这种情况的原因,就好像我删除了 setIndent(...) 行一样,它运行良好。我在这里做错了什么吗?预先感谢您的帮助。
最佳答案
从您的代码中删除这一行,它应该可以工作:
row.setParentId(rows.get(1).getId());
由于您想要更新现有行的缩进,因此无需指定 parentId
(父行的 ID 未更改)。
我已确认以下更新行 请求有效(成功缩进指定行并更新单元格值 - 就像您尝试做的那样):
PUT https://api.smartsheet.com/2.0/sheets/8074385778075524/rows
[
{
"id": "6033604149045124",
"cells": [
{"columnId": "5004885470013316","value": "TEST_VALUE"}
],
"indent": 1
}
]
并且以下更新行 请求失败并出现与您报告的错误相同的错误(行位置无效),因为它包含 parentId
属性(property)。
[
{
"id": "6033604149045124",
"cells": [
{"columnId": "5004885470013316","value": "TEST_VALUE"}
],
"indent": 1,
"parentId": "2655904428517252"
}
]
关于java - 使用带有 Java 的 Smartsheet API 缩进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48980145/
我有一个具有可变数量子元素的固定大小的 div。我不知道 children 的大小。目标是缩小它们以适合父级。 例子: .parent { width: 100px; height: 100p
我是一名优秀的程序员,十分优秀!