アプリの一覧画面や詳細画面の上部スペースに、よく使うアプリへのリンクを表示させようとしてます。
他のアプリへのリンクボタンとして、「他のアプリのアイコン画像のURL」を取得したいです。
以下のAPIで取得する値を元に、どのようなURLを作ればアイコン画像の参照URLになりますでしょうか?
アプリの一覧画面や詳細画面の上部スペースに、よく使うアプリへのリンクを表示させようとしてます。
他のアプリへのリンクボタンとして、「他のアプリのアイコン画像のURL」を取得したいです。
以下のAPIで取得する値を元に、どのようなURLを作ればアイコン画像の参照URLになりますでしょうか?
田口 裕生さん、こんにちは。
デフォルトで用意されているアイコン画像なら、その画像を 右クリック、検証 で出てくる URL を指定すれば
アイコンとして使うことはできますが、API を利用して使うのは難しいですね。
例
(function() {
"use strict";
kintone.events.on("app.record.index.show", function(event) {
if (document.getElementById('anchor') !== null) {
return;
}
//a タグの設定
var anchor = document.createElement("a");
anchor.id = "anchor";
anchor.href = "アプリのURL";
//img タグの設定
var im = document.createElement('img');
im.setAttribute('src', "デフォルトアイコンのURL");
//ヘッダー部分の取得
var link = kintone.app.getHeaderMenuSpaceElement();
//a タグの設置、img タグの設置
link.appendChild(anchor).appendChild(im);
});
})();
アイコン画像を用意しているのならば、一度ファイルとしてアップされるので
一般設定の取得 でファイルキーを取得し ファイルのダウンロード を行い
URL を指定すればアイコン画像として使えます。
ただし、この方法を使った場合は上げた時の画像サイズがそのまま使われる事になるので
サイズによっては、自分で調整しなければなりません。
例
(function() {
"use strict";
kintone.events.on("app.record.index.show", function(event) {
if (document.getElementById('anchor') !== null) {
return;
};
var body = {
"app": 参照したいアプリID,
};
kintone.api(kintone.api.url('/k/v1/app/settings', true), 'GET', body, function(resp) {
//ファイルキーを取得
var filekey = resp.icon.file.fileKey;
//取得したファイルキーを URL に指定
var url = '/k/v1/file.json?fileKey=' + filekey;
//ファイルのダウンロード
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.send();
//a タグの設定
var anchor = document.createElement("a");
anchor.id = "anchor";
anchor.href = "アプリのURL";
//img タグの設定
var im = document.createElement('img');
im.setAttribute('src', url);
//ヘッダー部分の取得
var link = kintone.app.getHeaderMenuSpaceElement();
//a タグの設置、img タグの設置
link.appendChild(anchor).appendChild(im);
//画像のサイズによるサイズ調整
im.style.width = "100px";
}, function(error) {
console.log(error);
});
});
})();