kintone.getLoginUser()での姓・名取得について

kintone.getLoginUser()関数にてログインユーザの姓・名を取得することはできますでしょうか。

仕様を読む限りできなさそうなのですがお教えいただけますと幸いです。

mikanさん

 

ご認識(ドキュメント)の通り、直接姓と名をそれぞれはありませんね。想定済みかと思いますが、表示名に対応するnameに姓名の間に空白等の区切りがあればsplitで抽出するというのが代案になりそうです。

mikanさん
cstapの瀧ヶ平です。

非公式な方法ではありますが、kintoneの通信を見るとhttps://subdomain.cybozu.com/k/(guest/)スペースID/api/space/thread/member/list.json というAPIを利用して、スペースに所属しているメンバーのリストを取得していることが分かるので

kintone.api(kintone.api.url('/k/api/space/thread/member/list',true),"POST", {threadId:スレッドID}).then(function(res){
var members = res.result.items;
var currentUser = members.find(fucntion(user){
return user.id === kintone.getLoginUser().id;
});
var firstName = currentUser.givenName;
var familyName = currentUser.surName;
});

のようなコードでfirstName変数にログインユーザの名前,familyName変数にログインユーザの姓というように代入することが可能です。

もちろん、姓と名を登録しているユーザのみしか取得することはできません。また、kintoneの仕様変更に伴い利用できなくなる可能性もあるので注意が必要です。

参考になりますでしょうか

 

追記

非公式の方法を書きましたが、公式のAPIのユーザーエクスポートAPIから取得する方法があるようです。
こちらを利用する方が簡潔で済みそうです。

kintone.api(kintone.api.url('/v1/users'), "GET", {ids: [kintone.getLoginUser().id]}, function(res){
var firstName = res.users[0].givenName;
var familyName = res.users[0].surName;
})

山下さん 瀧ヶ平さん

お世話になっております。

 

ご回答ありがとうございました!

 

いただきました案にて試行錯誤してみようかと思います。

 

どうぞよろしくお願いします!