首页 > 解决方案 > 如何在不通过 Admin SDK 的情况下从 BASE Google 用户对象或电子邮件中获取用户名?

问题描述

我有一个 Group 对象,它基本上是我的 Google Drive 域中人员的邮件列表。此对象包含类基本用户的用户列表

这种类型的用户对象只允许我获取它的电子邮件。使用此电子邮件或基本用户对象,是否可以找到或访问具有该电子邮件的Drive 用户对象?Drive 用户类确实允许我获取用户的名称。或者,是否有另一种方法可以从该基本用户对象中获取名称?

我无法使用 Admin SDK,因为与我合作的组织不允许我拥有超级管理员权限(据我所知,这是使用 SDK 所必需的)。我知道我有权查看组中用户的姓名,因为如果我与这​​些用户共享文档,我就可以运行如下代码:

(修改自:https ://developers.google.com/apps-script/reference/drive/user )

// Log the names of all users who have edit access to a file.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var editors = file.getEditors();
for (var i = 0; i < editors.length; i++) {
  Logger.log(editors[i].getName());
}

我确实得到了他们的名单。我可以通过这种方式解决我的问题,但这是一种解决方法,我想要更直接的方法,比如 getUserByEmail() 方法(如果存在的话)或类似的策略。

谢谢

标签: google-apps-scriptgoogle-drive-api

解决方案


不幸的是,由于检索到的对象属于不同类型,因此无法实现您想要的。

因此,由于服务中的UserBase仅支持该getEmail()方法,因此您只能使用该方法。

参考


推荐阅读