首页 > 解决方案 > 是否可以通过 Smartsheet API 更改仪表板的小部件数据?

问题描述

我正在尝试自动定期创建仪表板,并查看是否可以通过 API 以编程方式更改小部件中的数据。有可能做到这一点吗?

我曾尝试在 C# 和 Python 中使用 API 进行编程,但总是卡在寻找编辑小部件内容的方法上。

我在 C# 中尝试过的示例

Sight newSight = new Sight();

newSight.Name = "New Sight Name";
newSight.Id = 1111222223333;

Widget widg = new Widget();

widg.Type = Smartsheet.Api.Models.WidgetType.TITLE;
widg.Contents.HtmlContent = "<p>New Title</p>";

newSight.Widgets[0] = widg;

smartsheet.SightResources.UpdateSight(newSight);

我得到的这个错误信息是:

“System.NullReferenceException:'对象引用未设置为对象的实例。'

Smartsheet.Api.Models.Widget.Contents.get 返回 null。”

对于 HtmlContent 行。

我收到的另一条错误消息是:

“Smartsheet.Api.InvalidRequestException:'无法解析请求。发生以下错误:字段“内容”是意外类型。'”

这是什么时候获得一个 Sight,然后尝试更改其中一个小部件中的内容。

如果可能的话,我也对自动化仪表板创建的想法持开放态度。

谢谢你。

标签: smartsheet-api

解决方案


目前,只能通过 API 更新仪表板的名称。路线图上有附加功能,但现在,您需要编辑 UI 中的小部件,或编辑源数据,即,在填充仪表板的报告或工作表中。


推荐阅读