我正在使用带有REST的curl来访问在WIN CE上运行的C#中的Smartshets。我的应用程序应该定期将一些数据转储到智能表上。
在我写一张纸之前,我想知道纸中的总行数,以使每张纸不超过5000行。
我正在寻找一个给定工作表ID的API,该API仅返回行数?
当前使用下面的API,该API返回整个工作表数据,并且获取和格式化需要很长时间。 curl https://api.smartsheet.com/2.0/sheets/ {sheetId}
由于每张纸最多有5000行数据,因此获取和格式化以下响应以确定所需的行会花费很长时间:
{
"id": 4583173393803140,
"name": "sheet 1",
"version": 6,
"totalRowCount": 240,
"accessLevel": "OWNER",
"effectiveAttachmentOptions": [
"EVERNOTE",
"GOOGLE_DRIVE",
"EGNYTE",
"FILE",
"ONEDRIVE",
"DROPBOX",
"BOX_COM"
],
"readOnly": true,
"ganttEnabled": true,
"dependenciesEnabled": true,
"resourceManagementEnabled": true,
"cellImageUploadEnabled": true,
"userSettings": {
"criticalPathEnabled": false,
"displaySummaryTasks": true
},
"userPermissions": {
"summaryPermissions": "ADMIN"
},
"workspace": {
"id": 825898975642500,
"name": "New Workspace"
},
"projectSettings": {
"workingDays": [
"MONDAY",
"TUESDAY",
"WEDNESDAY"
],
"nonWorkingDays": [],
"lengthOfDay": 8
},
"hasSummaryFields": false,
"permalink": "https://app.smartsheet.com/b/home?lx=pWNSDH9itjBXxBzFmyf-5w",
"createdAt": "2018-09-24T20:27:57Z",
"modifiedAt": "2018-09-26T20:45:08Z",
"columns": [
{
"id": 4583173393803140,
"version": 0,
"index": 0,
"primary": true,
"title": "Primary Column",
"type": "TEXT_NUMBER",
"validation": false
},
{
"id": 2331373580117892,
"version": 0,
"index": 1,
"options": [
"new",
"in progress",
"completed"
],
"title": "status",
"type": "PICKLIST",
"validation": true
}
],
"rows": Array[4962]....
}
任何帮助将不胜感激。enter code here
答案 0 :(得分:0)
没有请求专门返回Sheet
上的行数。但是,使用任何GET /sheets/{sheetId}
操作,返回的结果Sheet
对象将具有顶级totalRowCount
属性。因此,您不必GET
工作表并计算rows
数组中的对象。相反,您可以查看totalRowCount
属性和其中的值,以了解工作表上当前有多少行。
如果您担心要提取所有Sheet
数据,则可以使用paging来避免返回所有数据。进行GET /sheets/{sheetId}?pageSize=1
将使Sheet
对象只有第一行数据,以帮助减小有效负载。 totalRowCount
属性仍将出现在响应中。