当我调用GetSheet()时,我正在尝试从单元格中获取列类型信息,使用带有C#的Smartsheet API,并且大部分时间它都是null。我在文档中读到了我可以做到的但我不理解。
我没有看到在智能感知中添加列类型的选项。我错过了什么吗? http://smartsheet-platform.github.io/api-docs/#row-include-flags
我正在使用最新的Smartsheet SDK 2.0.1.0。
答案 0 :(得分: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个缺少的枚举值来自行修复: