権限は与える状態でのアプリ非表示 ADM 2022年02月10日 03:48 お世話になります。 レコード復元用のアプリを作成しました。 そのアプリに対して全てのユーザーに権限を与えておかないと、別アプリでレコードを削除した際に権限がなく復元アプリに情報が追記できません。 権限を与えるのはいいのですが、アプリ一覧に表示させたくないです。 何か方法はありますでしょうか。 よろしくお願いします。 0
18件のコメント
ADMさん
こんにちは。
レコード削除時の復元アプリへの登録は、APIを使ってカスタマイズされていますか?
APIトークンを使えば、アプリの閲覧権限を一般ユーザーに渡さずにPOSTできます。
もしくは、ポータル画面上であれば、CSS等で無理やり非表示にするということも可能です。
ただ、こちらは閲覧権限は渡した状態ですので、右上の全体検索からヒットする可能性はあると思います。
>koichi様
回答いただきありがとうございます。
今はTISさんのプラグインを使用しておりAPI等使用していないはずです。
私でもできる内容であればいいのですが・・・
ちなみにポータル画面上で非表示になれば検索でヒットするのは問題ないので、そちらでもいいのかなと考えています。
ご確認ありがとうございます。
以下のようなCSSをkintoneシステム管理のCSSに適用すれば、ポータル画面右下のアプリ一覧からは消せます。
koichi様
ありがとうございます。
反映してみたのですが、相変わらず居座っているようです。
ご確認ありがとうございます。
CSSになりますので、function() { } は不要です。
以下だけを.css形式で保存し、「PC用のCSSファイル」に設定してみてください。
>koichi様
恥ずかしながらjsに設定していました。
上手く動作しました。
こちらのCSSはモバイルには適用できないのでしょうか?
モバイルは、CSSではできなさそうです。
PCの方も改めて、JavsScriptで処理するように変えてみました。
CSSの削除いただき、以下JavaScriptをPC・モバイル双方の設定に適用してみてください。
appIdは、非表示にしたいアプリIDをカンマ区切りで設定してください。
>koichi様
わざわざ対応いただきましてありがとうございます。
モバイルの方でも非表示にできました!すごいです。
色々と活用できそうですね。感謝申し上げます。
1つ気づいたのは一度お気に入りアプリのみ表示に切り替えてから、すべてのアプリを表示に再度切り替えると、隠していたアプリが表示されるんですね。
ポータルを開いたタイミングでしか実行しないため、アプリ一覧を切り替えると再生成されますね。
ということで、setIntervalを使い、定期的に実行することができます。
以下では100ミリ秒ごとに実行するようにしています。
100ミリ秒の間にラグがあると、一瞬画面がちらつくことがあるかもしれません。
ちなみに、左上のハンバーガーメニュー内のアプリ一覧と、右上の全体検索の候補からも消えます。
全体検索した後の検索結果画面では表示されますので、ご注意ください。
>koichi様
お世話になります。
こちらに追加で情報書かれていたことに気づかず、関わらず新しく別の質問をあげてしまいました。申し訳ございません。
ちなみに100ミリ秒ごとにこれを実行しても特に影響はないのでしょうか。
ADMさん
100ミリ秒ごとに実行しても問題はありません。もちろん、これ以上でも以下でも問題ありません。
但し、setIntervalを多用してしまうと、動作が遅くなるかもしれません。
>koichi様
ありがとうございます。
適用してみたところ違和感なく使用できています。
ありがとうございます。少し様子を見てみたいと思います。
>koichi様
こちらの件をいくつか試しているのですが、例えば特定のメンバーのみ、このアプリは表示するなどのイレギュラーパターンはできるのでしょうか。要するに書き込み権限は与えたいけれどアプリやレコードは見せたくないというパターンがあったので・・・
ADMさん
可能です。
ユーザーを例にすると、ユーザーコードの配列を作っておき
その配列内に「kintone.getLoginUser().code」が含まれるか否かで処理を分岐すれば実装できます。
組織・グループであれば、APIでログインユーザーの組織・グループを取得した上で
配列に含まれるか否か(あるいは特定の組織・グループコード文字列との一致不一致)で処理を分岐する方法になります。
ありがとうございます。
APIの取得は以下のような感じでしょうか
ご認識の通りです。
そちらの記述で正常に動作すれば問題ございません。
ありがとうございます。
上手く動作しませんでしたが見直してみます。