我正在使用从 smartsheets 生成的 JSON 字符串,目的是选择特定值并将它们添加到 SQL 数据库中。因为这是由用户设置的,所以智能表的结构不适合放入 SQL 数据库,因此我试图找到一种方法来告诉程序选择要放入数据库的特定值。用户所做的就是将智能表中要放入数据库的单元格变成绿色。我返回的 JSON 文件仅显示列 ID、类型、值和显示值。我不确定这是否可能,但我想知道是否有办法检测他是否选择了该单元格的颜色为绿色?
也接受其他建议。我正在考虑添加一个额外的列来表示输入,这样我就知道需要输入该行中的那组列,但我想我可能会看到上述选项在使用 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);
最佳答案
将此查询字符串参数添加到您的 URL:?include=format
当您这样做时,返回的单元格将包含数字列表形式的“格式”属性。以下是有关如何理解该列表的文档:
https://www.smartsheet.com/developers/api-documentation#h.up1zf3ui4dyr
这不是世界上最方便解析的表示形式,因为它旨在优化包含大量单元格的工作表的有效负载大小。但它确实为您提供了所需的信息。
我尝试了一下,当我将工作表中的单元格设置为绿色背景色时,它们包含以下格式:“,,,,,,,,,,30,,,,,,”。您可能想要尝试找到您正在寻找的确切格式值。
关于c# - 我可以使用 REST API 检测 Smartsheet 中的单元格属性(例如颜色)吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28891955/