タイトルの通りです
仕事でkintoneからデータを取得する案件があったのですが
Google検索ではヒントになる情報があまりなく出てきたコードも動かなかったので
ヒントを元にC#で自分で書き直してみました
内容としては大量にあるデータを100件ずつ読み込んで
コンソール上に表示していくものとなります
Newtonsoft.Jsonを使っているので別途プラグインインストールしてください
Visual C# 2019にて
using System; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; using System.Net; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json; using System.Collections.Generic; namespace get_kintone { class Program { static void Main(string[] args) { getData("sub_domain", "token", "app_id"); } static void getData(String sub_domain, String token, String app_id) { string authenticationSchemaAPI = "X-Cybozu-API-Token"; string authenticationSchema = "X-Cybozu-Authorization"; string authenticationSchemaBasic = "Authorization"; var client = new WebClient(); client.Headers[HttpRequestHeader.Accept] = "text/csv"; client.Headers[HttpRequestHeader.ContentType] = "text/csv;charset=UTF-8"; client.Headers.Add(authenticationSchemaAPI, token); client.Headers.Add("Host", sub_domain + ".cybozu.com:443"); Encoding enc = Encoding.GetEncoding("UTF-8"); String url = make_url(sub_domain, app_id, 0, 100); Stream s = client.OpenRead(url); StreamReader sr = new StreamReader(s, enc); string data = sr.ReadToEnd(); dynamic json = JsonConvert.DeserializeObject(data); int count = json.totalCount; sr.Close(); s.Close(); int k = 1; for (int i = 0; i <= count; i += 100) { System.Threading.Thread.Sleep(1000); url = make_url(sub_domain, app_id, 100, i); s = client.OpenRead(url); sr = new StreamReader(s, enc); data = sr.ReadToEnd(); sr.Close(); s.Close(); json = JsonConvert.DeserializeObject(data); int j = 0; foreach (dynamic datas in json.records) { Console.WriteLine("{0}", json.records[j].「カラム名」.value); j++; } } static String make_url(String sub_domain, String app_id, int limit, int offset) { return "https://" + sub_domain + ".cybozu.com/k/v1/records.json?app=" + app_id + "&totalCount=true&query=" + System.Web.HttpUtility.UrlEncode("limit " + limit.ToString() + " offset " + offset.ToString()); } } }