1
1

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 1 year has passed since last update.

kintoneアプリのアプリIDを取得する。

Last updated at Posted at 2022-06-08

どうして必要か?

kintoneアプリをテンプレート化して、アプリテンプレートからアプリを作成するとアプリIDが新たに採番されます。一方でkintoneのREST APIを使用して別画面(外部アプリ)のデータ参照/更新するには対象アプリのアプリIDが必要です。環境ごとのコード修正を回避したい場合、どうにかして外部アプリのアプリIDを取得する必要があります。

どうするか?

kintoneのルックアップと関連レコードには、参照先のアプリIDが取得できるAPIがあるのでそれを使用します。

・ルックアップの場合
関連付けるアプリに、アプリIDを取得したい外部アプリを指定します。
image.png
・関連レコードの場合
参照するアプリに、アプリIDを取得したい外部アプリを指定します。
image.png
・Javascript
ルックアップの場合はgetLookupTargetAppId()、関連レコードの場合はgetRelatedRecordsTargetAppId()でアプリIDを取得できます。

get_appid.js
(function() {
    "use strict";
    var events = [
        // レコード追加画面表示時、レコード詳細画面表示時、編集画面表示時
        'app.record.create.show',
        'app.record.detail.show',
        'app.record.edit.show'
    ];
    var handler_submit = function(event) {
        // ルックアップフィールドの参照先アプリIDを取得
        var lookupid = kintone.app.getLookupTargetAppId('ルックアップ');
        console.log("ルックアップの参照先アプリID:" + lookupid);

        // 関連レコード一覧の参照先アプリIDを取得
        var relatedid = kintone.app.getRelatedRecordsTargetAppId('関連レコード一覧');
        console.log("関連レコードの参照先アプリID:" + relatedid);
    };  
    kintone.events.on(events, handler_submit);
})();

最後に

今回の方法では、ルックアップや関連レコードで紐づいていない外部アプリのアプリIDは取得できません。画面上の入出力に使用しない項目を追加するのに抵抗のある方もいらっしゃるかもしれませんが、ルックアップ関連レコード項目を使用しない画面でも、一旦紐付けを行った上で項目を非表示化することができますので、検討してみてください。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?