特定の値を選択して SQL データベースに追加する目的で、smartsheets から生成された JSON 文字列を使用しています。これはユーザーによって設定されるため、smartsheet の構造は SQL データベースに入れるのに理想的ではないため、データベースに入れる特定の値を選択するようにプログラムに指示する方法を見つけようとしています。ユーザーが行ったことは、データベースに配置されるセルを smartsheet で緑色に変えたことです。返された 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);