kintoneのプロフィール情報に「誕生日」という欄が存在します。
これをアプリ内で参照する方法を知りたいです。
弊社では社員の誕生日にお祝いをすることが通例となっており、
各自にkintoneのプロフィール情報に誕生日を入力しておいてもらえば
誕生日の準備がしやすいので、
プロフィール情報の「誕生日」欄を何かしらの情報で一覧として取得し、閲覧できるようにしたいのですが、
プロフィール情報を参照する方法を教えてください。
ログインしている本人の表示名を取得する方法は別の書き込みで見つけたのですが、
本人ではなく、グループに含まれる社員全員の情報を閲覧したいです。
yama 様
こんにちは。
全ユーザーの情報を取得するには、下記APIが利用できます。
https://developer.cybozu.io/hc/ja/articles/202363040#step2
誕生日情報は、取得したデータにある birthDate になると思います。
また、シナリオは少し違いますがこちらの投稿は参考になると思います。
sio様
参考記事ありがとうございます!
例えば、「社員プロフィール」というアプリを作り
ユーザー選択フィールド:フィールド名[UserName]
日付フィールド:フィールド名[BirthDay]
というフィールドをフォームに用意した場合、
UserNameにユーザー情報を入力した際、BirthDayに自動でプロフィール情報の誕生日情報(birthDate)が挿入される
という仕組みにしたい場合、どのようにjavascriptを書けばよいのでしょうか。
あるいはjavasprictを書かなくていい方法があるのであれば、そのほうが良いのですが…。
yama 様
>javasprictを書かなくていい方法があるのであれば、そのほうが良いのですが…
cybozu.com共通管理の権限があれば、
下記のようにユーザーデータをファイルに書き出せますので、
https://jp.cybozu.help/general/ja/admin/list_useradmin/list_csv/user.html#list_csv_user_20
書き出したデータからユーザー名と誕生日データを抜き出してCSVを作成し、
そのCSVを「社員プロフィール」アプリに読み込んで、誕生日情報を一括登録するのはいかがでしょうか。
https://jp.cybozu.help/k/ja/user/using_app/import_records/import_csv.html
(ユーザーが増えるたびに更新作業が必要になりますが)
>UserNameにユーザー情報を入力した際、BirthDayに自動でプロフィール情報の誕生日情報(birthDate)が挿入される
一例ですが、1人1レコードの場合は下記のように、
UserNameフィールドのchangeイベントで、誕生日情報を取得して挿入する、
のような処理ができると思います。ご参考になれば幸いです。
(function() {
'use strict';
kintone.events.on(['app.record.edit.change.UserName', 'app.record.create.change.UserName'], function(event) {
var params = {
codes: [event.record['UserName'].value[0].code]
};
kintone.api('/v1/users', 'GET', params).then(function(resp) {
var record = kintone.app.record.get();
record.record['BirthDay'].value = resp.users[0].birthDate;
kintone.app.record.set(record);
});
return event;
});
})();
sio様
詳しくご教授いただきありがとうございます!
参考にさせていただき、試してみます。ありがとうございました。