如何使用Smartsheet API在报告中获取单元格历史记录

时间:2019-11-19 08:46:03

标签: c# smartsheet-api smartsheet-api-2.0 smartsheet-c#-sdk-v2

我试图使用C#,Visual Studio 2017连接到smartsheet api。我试图获取报表中单元格的历史记录,以便可以绘制单元格中百分比值随时间的变化。

我正在使用<package id="smartsheet-csharp-sdk" version="2.86.0" targetFramework="net461" />

我可以使用

成功地进行API调用以获取工作表的单元格历史记录
        try
        {
            SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(apiToken).Build();
            PaginatedResult<CellHistory> results = smartsheet.SheetResources.RowResources.CellResources.GetCellHistory(
                sheetId,               // long sheetId
                rowId,                 // long rowId
                columnId,              // long columnId
                null,                  // IEnumerable<CellInclusion> includes
                null                   // PaginationParameters
                );

            textBox1.Text = ("Found " + results.TotalCount + " results");

            dataGridView2.Columns.Add("Date", "Date");
            dataGridView2.Columns.Add("Value", "Value");

            for (int i = 0; i < results.TotalCount; i++)
            {
                var index = dataGridView2.Rows.Add();
                dataGridView2.Rows[i].Cells["Date"].Value = (System.DateTime)results.Data[i].ModifiedAt;
                dataGridView2.Rows[i].Cells["Value"].Value = (double)results.Data[i].Value;
            }

        }
        catch (Exception ex)
        {
            textBox1.Text = ex.ToString();
        }

那很好。

我尝试使用smartsheet.ReportResources,但是当时没有RowRecources。

如果我将相同的SheetResources代码指向报表,则会出现错误

Smartsheet.Api.ResourceNotFoundException: Not Found
   at Smartsheet.Api.Internal.AbstractResources.HandleError(HttpResponse response)
   at Smartsheet.Api.Internal.AbstractResources.ListResourcesWithWrapper[T](String path)
   at Smartsheet.Api.Internal.RowColumnResourcesImpl.GetCellHistory(Int64 sheetId, Int64 rowId, Int64 columnId, IEnumerable`1 include, PaginationParameters paging, Nullable`1 level)
   at Smartsheet.Api.Internal.RowColumnResourcesImpl.GetCellHistory(Int64 sheetId, Int64 rowId, Int64 columnId, IEnumerable`1 include, PaginationParameters paging)

有人可以请我提供一些有关如何获取报告中单元格历史的帮助吗?

1 个答案:

答案 0 :(得分:1)

当前,该API不提供用于读取/写入报告的任何支持。我建议使用工作表,工作表参考和公式来构建相同类型的报告。

然后,您应该能够阅读这些工作表并获取其历史记录。