あなたが参照しているドキュメントは、ドメイン内のGoogle Appsアカウントでのみ利用可能なものUserManager
の一部です...それとは関係なく、 Baseサービスの一部です。Domain Service
Session.getEffectiveUser()
このような混乱を避けるために、オートコンプリート機能を使用できます。
編集:情報:ログに記録されたユーザーが連絡先に含まれている場合は、そこにあるものをすべて取得できます。コメント付きのサンプルコード:
function getUserInfo(){
var email = Session.getEffectiveUser().getEmail();
var userName = Session.getEffectiveUser().getUsername();
Logger.log(email+' '+userName)
if(ContactsApp.getContact(email)){ ;// if the logged user is in your contacts
var fullName = ContactsApp.getContact(email).getFullName();// there a quite a few parameters available from here
var nickName = ContactsApp.getContact(email).getNickname();// these are just examples
var tel = ContactsApp.getContact(email).getPhones();// returns an array of phones object
var telnums=[]
for(var t in tel){telnums.push(tel[t].getLabel()+"="+tel[t].getPhoneNumber())} ;// get the numbers ans store in an array
Logger.log(fullName+' / '+nickName+' / phone :'+telnums.join(' & ')) ;// join the array for proper display
}
}
編集2:コメントに続いて:
GOOGLE APPSアカウントの場合、このコードはユーザー情報を取得するために機能しています。ここのドキュメントuser
を参照してください。オブジェクトを取得する必要があります
function getUserInfo(){
var email = Session.getEffectiveUser().getEmail();
var userName = Session.getEffectiveUser().getUsername();
Logger.log(email+' '+userName)
var user = UserManager.getUser(userName);// get the user object
var firstName = user.getGivenName();// from there get whatever you want that is available (see autocomplete, not so much possibilities...)
var familyName = user.getFamilyName();
Logger.log(firstName+' / '+familyName)
}
注:このスクリプトを使用する前に、このAPIを承認する必要があります: