# API呼び出し回数を取得するAPI

**URL:** <https://community.cybozu.dev/t/topic/110>\
**Category:** kintone 開発相談\
**Created:** [2022 年 9 月 27 日午前 1:04 UTC](https://community.cybozu.dev/t/topic/110 "2022-09-27T01:04:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2613](https://avatars.discourse-cdn.com/v4/letter/l/41988e/32.png) [@Legacy\_Account2613](https://community.cybozu.dev/u/Legacy_Account2613)\
**Post date:** [2022 年 9 月 27 日午前 1:04 UTC](https://community.cybozu.dev/t/topic/110/1 "2022-09-27T01:04:20Z")

</div>

日本語勉強中でよろしくお願いいたします。

**背景・実現したいこと**

アプリにつき、１万回超えそうになったら、こちら側でブロックしたいです。

**エラー情報** （開発者ツールのコンソール）

API呼び出し回数が大幅超過しましたというメールが来ました。

**利用したソースコード**

開発中、APIを呼ぶ無限ループが放置してしまいました。

**やってみたこと**

現在、数秒ごとにブラウザー上からAPIの呼び出し回数情報をスクレ―ピングしています。その情報から、制限に当たりそうになったら、通知を送信しています。１万回になったら、APIを呼ぶ処理をブロックしています。

APIのリスポンスにrate-limiterのようなものがあれば、これが必要なくなります。どなたかアイディアがあれば、お願いいたします。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2534](https://avatars.discourse-cdn.com/v4/letter/l/e9a140/32.png) [@Legacy\_Account2534](https://community.cybozu.dev/u/Legacy_Account2534)\
**Post date:** [2022 年 9 月 28 日午前 11:29 UTC](https://community.cybozu.dev/t/topic/110/2 "2022-09-28T11:29:10Z")

</div>

Lorenz Ras さん

まず kintone の仕様としては、同時接続数は取得できますが、APIのレートリミットは取得できません。

[https://developer.cybozu.io/hc/ja/articles/201941754-kintone-REST-API%E3%81%AE%E5%85%B1%E9%80%9A%E4%BB%95%E6%A7%98#step10](https://developer.cybozu.io/hc/ja/articles/201941754-kintone-REST-API%E3%81%AE%E5%85%B1%E9%80%9A%E4%BB%95%E6%A7%98#step10)

以下クライアントサイドで制限を回避するアイディアになります。

1. kintone API をプロキシ経由でリクエストしてコントロールする（[Apigee](https://docs.apigee.com/)など）
2. kintone.api 関数をオーバライドして、リクエストをコントロールする（リクエスト数をカウントする、一定時間連続で同一リクエストが呼ばれたら例外を投げる等）
3. kintone.api 関数を実行する前に、iframe 経由でアプリ管理ページにアクセスし、該当アプリのAPIリミットをスクレイピングで取得する（kintoneシステム管理権限があるユーザーに限定されますが）

分かりにくい日本語表現がありましたら、お気軽にご質問ください。参考になれば幸いです。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2613](https://avatars.discourse-cdn.com/v4/letter/l/41988e/32.png) [@Legacy\_Account2613](https://community.cybozu.dev/u/Legacy_Account2613)\
**Post date:** [2022 年 9 月 29 日午前 4:17 UTC](https://community.cybozu.dev/t/topic/110/3 "2022-09-29T04:17:08Z")

</div>

川村 さん

様々なやり方頂いてありがとうございます！

組み合わせてやってみました。とりあえず、以下の感じです。

```
フロントエンド → 社内サーバ → Kintone API

```

システム管理権限で社内サーバで全アプリの呼び出し回数をスクレ―ピングし、社内DBに格納しています。

社内サーバのミドルウェアで超過していないかどうか判定します。

対処アプリの呼び出し回数が超過している場合、すぐエラー429を返します。

Kintone APIのリスポンスに呼び出し回数も載せてほしいんですが、機能リクエストをすると、どのぐらいかかりますでしょう。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2534](https://avatars.discourse-cdn.com/v4/letter/l/e9a140/32.png) [@Legacy\_Account2534](https://community.cybozu.dev/u/Legacy_Account2534)\
**Post date:** [2022 年 9 月 29 日午後 10:19 UTC](https://community.cybozu.dev/t/topic/110/4 "2022-09-29T22:19:49Z")

</div>

Lorenz Ras さん

お役に立てて嬉しく思います。

私は機能リクエスト（kintoneへの要望でしょうか？）を出した経験が無いため、具体的な回答はできず申し訳ないですが、kintoneの画面右上にあるヘルプボタン「？」で展開されるメニューに「kintone の改善に協力」という項目があるので、こちらからリクエストしてみてはいかがでしょうか？

という私も今回調べて「kintone の改善に協力」に初めて気づいたので、これを期に幾つかリクエストを出してみようと思います。このような機会をいただき感謝しています。

レスポンスヘッダーに API Rate Limit を設ける機能は私も欲しいと思う機能ですので、Lorenz Ras さんのアイディアが実装される日を楽しみにしています。

---

<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 年 6 月 6 日午前 1:58 UTC](https://community.cybozu.dev/t/topic/110/5 "2024-06-06T01:58:44Z")

</div>

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