我可以使用REST API在Smartsheets中检测单元格属性,例如颜色

时间:2015-03-06 03:38:16

标签: c# smartsheet-api smartsheet-api-1.1

我正在使用从智能表中生成的JSON字符串,目的是选择特定值并将它们添加到sql数据库中。因为这是由用户设置的,所以智能表的结构不适合放入SQL数据库,因此我试图找到一种方法来告诉程序选择要放入数据库的特定值。用户所做的是在智能表中将要放入数据库的单元格变为绿色。我回来的JSON文件只显示了columnID,类型,值和显示值。我不确定这是否可行,但我想知道是否有办法检测他是否选择了该单元格的颜色为绿色?

也可以打开其他建议。我正在考虑添加一个说明输入的额外列,所以我知道需要输入该行中的那组列,但我想可能会看到上述选项在使用REST API的智能表中是否可行。目前这是(基本上)我的代码。

smartsheetToJSON类。

        Console.WriteLine("Requesting data from smartsheets");
        //This is the GET request component. Depends on what is in the URL as to what you get back. 
        HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.smartsheet.com/1.1/sheet/8385518611261316");
        httpWebRequest.ContentType = "application/json";
        httpWebRequest.Accept = "*/*";
        httpWebRequest.Method = "GET";
        httpWebRequest.Headers.Add("Authorization", "Bearer " + authorisation);

        Console.WriteLine("Reading data to JSON");
        HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
        string responseString = new StreamReader(httpResponse.GetResponseStream()).ReadToEnd();
        return responseString;

目前这是静态的主要内容。

        smartsheetToJSON getSheetData = new smartsheetToJSON();
        string jsonString = getSheetData.getSheet();
        Console.WriteLine("Printing JSON");
        JObject rss = JObject.Parse(jsonString);
        Console.WriteLine(jsonString);

1 个答案:

答案 0 :(得分:4)

将此查询字符串参数添加到您的网址:?include = format

当你这样做时,返回的单元格将包含"格式"属性以数字列表的形式。这是关于如何理解该列表的文档:

https://www.smartsheet.com/developers/api-documentation#h.up1zf3ui4dyr

它不是解析世界中最方便的表示,因为它旨在优化包含大量单元格的工作表的有效负载大小。但它确实为您提供了所需的信息。

我试了一下,当我制作时,我的表格中的单元格为背景颜色为绿色,它们包含以下格式:" ,,,,,,,,, 30 ,,,,,,&# 34 ;.您可能希望尝试查找您正在寻找的确切格式值。