如何从他们的电子邮件中获取用户的姓名?

How can I get a user's name from their email?

我正在尝试从用户的电子邮件中获取用户名,我们都在同一个业务域中。我看到 post here 详细说明了如果您想从联系人列表中拉出该怎么做。问题是当我自己尝试时,它知道有我的联系人,但它 returns 所有值都为空。如果我使用另一个联系电子邮件,那么它会很好地提取信息。

link 说应该有另一种方法,但你需要管理员权限。我明白了,但是用户管理器文档的所有 link 都被破坏了。此外,在 Google 的开发者网站上搜索 usermanager 也没有找到任何结果。

var email = Session.getActiveUser().getEmail();
Browser.msgBox(email)

var self = ContactsApp.getContact(email);
var name = self.getFullName();

您可以使用管理员权限使用 directory api。不要忘记在您的应用脚本(资源 > 高级 Google 服务)和开发者控制台中启用管理员 api。

function getUserName(email){
var result = AdminDirectory.Users.get(email, {fields:'name'});
var fullname = result.name.fullName;
Logger.log(fullname);
return fullname;
}

如果从文本解析,你可以像下面这样使用,

var email = "john.doe@email.com";
var name   = email.substring(0, email.lastIndexOf("@"));
console.log( name );   // john.doe

希望有所帮助