SmartSheet是否支持任何CURL以获取工作表中的总行数?

时间:2019-05-16 07:35:48

标签: smartsheet-api-2.0

我正在使用带有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

1 个答案:

答案 0 :(得分:0)

没有请求专门返回Sheet上的行数。但是,使用任何GET /sheets/{sheetId}操作,返回的结果Sheet对象将具有顶级totalRowCount属性。因此,您不必GET工作表并计算rows数组中的对象。相反,您可以查看totalRowCount属性和其中的值,以了解工作表上当前有多少行。

如果您担心要提取所有Sheet数据,则可以使用paging来避免返回所有数据。进行GET /sheets/{sheetId}?pageSize=1将使Sheet对象只有第一行数据,以帮助减小有效负载。 totalRowCount属性仍将出现在响应中。