我正在尝试自动化常规创建仪表盘,并查看是否有可能通过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返回空值。”
对于HtmlContent行。
我收到的另一条错误消息是:
“ Smartsheet.Api.InvalidRequestException:'无法解析请求。发生以下错误:字段” contents“是意外类型。'”
什么时候获得瞄准器,然后尝试更改其小部件之一中的内容。
如果可能的话,我也欢迎自动化仪表板创建的想法。
谢谢。
答案 0 :(得分:0)
目前,只能通过API更新仪表板的名称。路线图上还有其他功能,但是现在,您需要在UI中编辑小部件,或在填充仪表板的报告或工作表中编辑源数据。