# C#でKintone REST APIを使ってAPPからレコードを取得できません

**URL:** <https://community.cybozu.dev/t/topic/2518>\
**Category:** kintone 開発相談\
**Created:** [2016 年 5 月 2 日午前 6:58 UTC](https://community.cybozu.dev/t/topic/2518 "2016-05-02T06:58:25Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account350](https://avatars.discourse-cdn.com/v4/letter/l/97f17d/32.png) [@Legacy\_Account350](https://community.cybozu.dev/u/Legacy_Account350)\
**Post date:** [2016 年 5 月 2 日午前 6:58 UTC](https://community.cybozu.dev/t/topic/2518/1 "2016-05-02T06:58:25Z")

</div>

コード:

&nbsp;&nbsp;&nbsp;&nbsp; string url = “[https://xxxx.cybozu.com/k/v1/](https://xxxx.cybozu.com/k/v1/)”;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string authenticationSchema = “X-Cybozu-Authorization”;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string token = “app token”;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string host = “[xxxx.cybozu.com:443](http://xxxx.cybozu.com:443)”;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (var client = new HttpClient())  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; client.BaseAddress = new Uri(url);  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; client.DefaultRequestHeaders.Accept.Clear();  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(authenticationSchema, token);  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; client.DefaultRequestHeaders.Host = host;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”));

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Http Get  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(“Retrieving data from kintone…”);  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpResponseMessage response = await client.GetAsync(“app=4&id=1”);&nbsp;&nbsp;&nbsp; // App id & Record&nbsp;id  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (response.IsSuccessStatusCode)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Customer customer = await response.Content.ReadAsAsync\<Customer\>();  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(“{0}\t${1}\t{2}”, customer.CompanyName, customer.DepartmentName, customer.Telephone);  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

実行結果:

&nbsp;&nbsp;&nbsp; response.IsSuccessStatusCodeはtrueが返してきたが、指定したレコードを取得できません。

HttpResponseMessage response = await client.GetAsync(“app=4&id=1”);を  
HttpResponseMessage response = await client.GetAsync(“json.record?app=4&id=1”);

に変更したら、520のエラーコードが返してきます。

コードにどこか不正があったかご確認いただけませんか？

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account350](https://avatars.discourse-cdn.com/v4/letter/l/97f17d/32.png) [@Legacy\_Account350](https://community.cybozu.dev/u/Legacy_Account350)\
**Post date:** [2016 年 5 月 2 日午前 7:07 UTC](https://community.cybozu.dev/t/topic/2518/2 "2016-05-02T07:07:08Z")

</div>

補足：

「顧客情報」というアプリからレコードを取り出すために、顧客情報のレコードの様子を倣って、Customerクラスを勝手に作り上げました。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1574](https://avatars.discourse-cdn.com/v4/letter/l/76d3ee/32.png) [@Legacy\_Account1574](https://community.cybozu.dev/u/Legacy_Account1574)\
**Post date:** [2016 年 5 月 4 日午後 12:55 UTC](https://community.cybozu.dev/t/topic/2518/3 "2016-05-04T12:55:30Z")

</div>

yanbingms さん

&nbsp;

\>&nbsp;await client.GetAsync(“json.record?app=4&id=1”);

解決済みかもしれませんが、単純にリソース名が「record.json」の部分が「json.record」と逆になってるだけとかではないでしょうか。

&nbsp;

520もエラーのbodyをデバッグ時は全て表示させると良いと思います。配下プロパティに原因が記載されている事があります。また、別トピでご紹介したかと思いますが、[こちら](https://www.joyzo.co.jp/blog/699)試されてますでしょうか。他の方法と比べて意図通りのリクエストになっているのかを確認するのは有効な方法ですのでお試し頂ければと思います。エラー時のメッセージも表示されます。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account350](https://avatars.discourse-cdn.com/v4/letter/l/97f17d/32.png) [@Legacy\_Account350](https://community.cybozu.dev/u/Legacy_Account350)\
**Post date:** [2016 年 5 月 9 日午前 3:17 UTC](https://community.cybozu.dev/t/topic/2518/4 "2016-05-09T03:17:37Z")

</div>

山下さん

ご回答ありがとうございました。

「json.record」を「record.json」に変更した後、さらにプロキシサーバーを指定し、成功にデータを取得できました。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1574](https://avatars.discourse-cdn.com/v4/letter/l/76d3ee/32.png) [@Legacy\_Account1574](https://community.cybozu.dev/u/Legacy_Account1574)\
**Post date:** [2016 年 5 月 9 日午前 3:19 UTC](https://community.cybozu.dev/t/topic/2518/5 "2016-05-09T03:19:10Z")

</div>

解決されたようで良かったです。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2024 年 9 月 9 日午前 6:24 UTC](https://community.cybozu.dev/t/topic/2518/6 "2024-09-09T06:24:14Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
