0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

kintone REST API Client で全アプリの情報を取得する

Last updated at Posted at 2021-10-25

以前、レコード前取得を kintone REST API Client で楽にやってみたことがありましたが、
今回はボタンをクリックしたらConsoleに全アプリの情報を取得してくるようなアプリを作ります。

kintone REST API Client の getApps メソッド

limitというプロパティがあって、一度にとって来れるアプリ情報の件数は 100 までとのこと。

Name Type Description
limit Number or String The number of apps to retrieve.
Must be between 1 and 100.
If nothing is specified, it will default to 100.
offset Number or String The number of retrievals that will be skipped.
Must be between 0 and
2147483647. If nothing is specified, it will default to 0.

offsetを使って100件ずつ再帰的に取ってくるのがよさそうです👀

JavaScript

以下2つを準備しておきましょう。

👀kintone UI Component

👀kintone REST API Client

// 一覧画面表示後
kintone.events.on(["app.record.index.show"], (event) => {
  // kintone REST API Client の準備
  const client = new KintoneRestAPIClient();

  // メニュー下の余白にボタンを設置する
  const sp = kintone.app.getHeaderSpaceElement();
  const btn = new Kuc.Button({
    text: "ボタン",
    type: "submit",
  });
  sp?.appendChild(btn);

  // ボタンをクリックしたらアプリ情報を再帰的に取得
  btn.addEventListener("click", async () => {
    const resp = await getAppsInfo();
    console.log(resp);
  });

  /**
   * 再帰的にアプリ情報を取ってくる
   * @param ofs オフセット 初期値 0
   * @param appsAry アプリ情報配列 初期値 []
   */
  const getAppsInfo = async (ofs = 0, appsAry = []) => {
    // アプリ情報を取りに行く。res.appsにアプリ情報の配列が格納される。
    const res = await client.app.getApps({
      offset: ofs,
    });
    // 前回までの配列に今とってきたアプリ情報の配列をくっつける
    appsAry.push(...res.apps);

    // 100件ぴったりだったら次もあるかも?ということで再帰的にアプリ情報を取りに行く
    if (res.apps.length === 100) {
      return getAppsInfo(ofs + 100, appsAry);
    }
    // 100件ぴったりじゃなかったらもう取り終わってるのでアプリ情報を返す
    return appsAry;
  };

  return event;
});

結果

ボタンクリックで全件取ってこれました。

image.png

あとは取ってきたアプリ情報をゴニョゴニョとやってみると、なにかおもしろいアプリ管理用のアプリができるかも?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?