作为超级管理员,我尝试使用以下代码列出测试用户的标签,但是没有成功:https://developers.google.com/apps-script/advanced/gmail
function listLabelInfo() {
var response =
Gmail.Users.Labels.list('testuser@domain.com');
for (var i = 0; i < response.labels.length; i++) {
var label = response.labels[i];
Logger.log(JSON.stringify(label));
}
}
我得到的错误是Delegation denied for myaccount@domain.com (line 2, file "Code")
。
根据页面上的说明,我执行了以下操作:
https://www.googleapis.com/auth/gmail.labels
上面的步骤#3。我仍然遇到同样的错误。如果我使用'me
代替'testuser@domain.com'
,则会显示我的所有标签。
我在这里缺少什么?
非常感谢任何帮助。
答案 0 :(得分:0)
您无法通过Apps脚本模拟用户。您无法在应用脚本中使用服务帐户。脚本始终以您的身份运行,而不是服务帐户。
当您创建服务帐户并启用域范围委派时,您必须使用库客户端(java,php,python等)中的服务帐户。
欢呼声
答案 1 :(得分:0)
如果您不必使用应用程序脚本自行解决此问题。每个GSuite管理员都有一个“必备”工具来管理与用户有关的任何事情。 该工具称为GAM,这是Github存储库URL:https://github.com/jay0lee/GAM/wiki
基本上,GAM是一个命令行工具,它使管理员可以管理其G Suite帐户的许多方面,包括组,日历等。