0

当我调用 GetSheet() 时,我试图从单元格中获取列类型信息,使用带有 C# 的 Smartsheet API,并且大多数情况下它为空。我在文档中读到我可以做到这一点,但我不明白。

返回行的端点(例如获取工作表、获取行)支持可选的包含查询字符串参数。 http://smartsheet-platform.github.io/api-docs/#row-include-flags

我没有看到在我的智能感知中添加列类型的选项。我错过了什么吗? 在此处输入图像描述

我正在使用最新的 Smartsheet SDK 2.0.1.0。

4

1 回答 1

1

GetSheet()操作默认返回列类型信息,因此在调用时无需指定任何包含标志。(这就是为什么您在智能感知中没有看到它的选项。)

下面的代码片段展示了如何使用 C# SDK 来检索一个工作表并遍历工作表中的列,打印每列的标题类型:

// Set the Access Token
Token token = new Token();
token.AccessToken = YOUR_ACCESS_TOKEN;

// Use the Smartsheet Builder to create a Smartsheet
SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(token.AccessToken).Build();

// Get Sheet
long sheetId = YOUR_SHEET_ID;
Sheet sheet = smartsheet.SheetResources.GetSheet(sheetId, null, null, null, null, null, null, null);

// Examine columns and write Title and Type for each column.
foreach (Column column in sheet.Columns)
{
    Response.Write(column.Title + ": " + column.Type.ToString() + "<br/><br/>");
}

请注意,目前 C# SDK 存在一个已知问题(错误)—— Column.Type未填充到 GetSheet() 响应中,仅存在于启用依赖项的项目表中的 3 种特殊列类型:DURATION, PREDECESSOR, ABSTRACT_DATETIME(即开始日期和结束日期)。目前没有解决此问题的 ETA。但是,您可以通过从GitHub下载 C# SDK 源代码并更新ColumnType Enumeration以添加 3 个缺失的枚举值来自行修复它:

  • 期间
  • 前任
  • ABSTRACT_DATETIME
于 2015-09-15T20:09:26.433 回答