首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >谷歌脚本如何使用getActiveUser()的getGivenName()

谷歌脚本如何使用getActiveUser()的getGivenName()
EN

Stack Overflow用户
提问于 2013-02-22 12:03:22
回答 4查看 22.7K关注 0票数 8

域中的每个用户都会启动一个简单的脚本,我们为leave授权运行该脚本,但是我们希望欢迎消息是"Hi First Name“,但是该脚本似乎不能从标准用户的getActiveUser()中获取getGivenName()。

有什么办法吗?

EN

回答 4

Stack Overflow用户

发布于 2013-03-26 10:44:38

如注释和Documentation中所述,只有域管理员可以访问UserManager服务。

这里有一个替代方案。域用户可能会在自己的联系人中找到自己,那么如何尽最大努力在那里找到自己?

代码语言:javascript
复制
/**
 * Get current user's name, by accessing their contacts.
 *
 * @returns {String} First name (GivenName) if available,
 *                   else FullName, or login ID (userName)
 *                   if record not found in contacts.
 */
function getOwnName(){
  var email = Session.getEffectiveUser().getEmail();
  var self = ContactsApp.getContact(email);

  // If user has themselves in their contacts, return their name
  if (self) {
    // Prefer given name, if that's available
    var name = self.getGivenName();
    // But we will settle for the full name
    if (!name) name = self.getFullName();
    return name;
  }
  // If they don't have themselves in Contacts, return the bald userName.
  else {
    var userName = Session.getEffectiveUser().getUsername();
    return userName;
  }
}
票数 9
EN

Stack Overflow用户

发布于 2017-03-20 10:03:53

在应用程序脚本中,我可以使用关于REST API:https://developers.google.com/drive/v2/reference/about/get获取此信息

代码语言:javascript
复制
var aboutData = DriveApp.About.get();
var userEmail = aboutData["user"]["emailAddress"];
var userDisplayName = aboutData["user"]["displayName"];
票数 4
EN

Stack Overflow用户

发布于 2013-02-22 12:44:57

您可以获取用户名,但首先必须使用provisioning api创建域用户。您可以通过登录到您的管理员帐户来启用API,然后选择域设置和用户设置选项卡以选中启用配给API的复选框。阅读有关它的更多信息here

然后,您可以使用

代码语言:javascript
复制
   user = user.getgivenName()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15016628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档