Могу ли я определить свойства ячеек, такие как цвет в Smartsheets, используя REST API

Я использую строку JSON, созданную из смарт-таблиц, с целью выбора определенных значений и добавления их в базу данных SQL. Поскольку это настраивается пользователем, структура таблицы smartsheet не идеальна для помещения в базу данных SQL, поэтому я пытаюсь найти способ указать программе выбрать конкретные значения для помещения в базу данных. Что пользователь сделал, так это изменил ячейки, которые должны быть помещены в базу данных, в зеленый цвет в таблицах. Файл JSON, который я получаю, хотя показывает только columnID, тип, значение и отображаемое значение. Я не уверен, возможно ли это, но мне было интересно, есть ли способ определить, выбрал ли он цвет этой ячейки, чтобы быть зеленым?

Открыты и для других предложений. Я думал о добавлении дополнительного столбца с надписью input, так что я знаю, что этот набор столбцов в этой строке необходимо ввести, но подумал, что, возможно, я увижу, является ли вышеуказанный параметр жизнеспособным в таблицах с использованием 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 ответ

Решение

Добавьте этот параметр строки запроса в свой URL:? Include=format

Когда вы это сделаете, возвращающиеся ячейки будут содержать атрибут "format" в виде списка чисел. Вот документация о том, как разобраться в этом списке:

https://www.smartsheet.com/developers/api-documentation

Это не самое удобное представление в мире для анализа, так как оно было разработано для оптимизации размера полезной нагрузки для листов, содержащих большое количество ячеек. Но это дает вам необходимую информацию.

Я попробовал это сделать, и когда я сделал, чтобы ячейки на моем листе имели зеленый цвет фона, они содержали такой формат: ",,,,,,,,,30,,,,,,". Вы можете поэкспериментировать, чтобы найти точные значения формата, которые вы ищете.

Другие вопросы по тегам