我们为 Google Apps Marketplace 创建了一个应用程序。我们希望我们的应用程序检查每个用户每天发送和接收的电子邮件数量。我尝试在 https://developers.google.com/gmail/api/v1/reference/users/messages/list 上测试表单,当用户或管理员输入“me”为userId
时,它就起作用了。 ,但是当域管理员键入用户的电子邮件地址时,他会收到一条错误消息:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Delegation denied for admin@<domain>"
}
],
"code": 403,
"message": "Delegation denied for admin@<domain>"
}
}
(<domain>
是我测试的域名)。
域管理员是否可以列出除他自己之外的用户的消息?我没有在文档中找到它。
更新:我尝试通过我们的应用程序使用用户的电子邮件地址进行身份验证,然后成功了。但我更愿意使用域管理员的电子邮件地址进行身份验证。
最佳答案
这是可能的。为此,您需要模拟用户,然后对您提到的 API 进行相同的调用。
为了冒充用户代表您执行操作,您必须实现 domain wide delegation权威。
为此,您必须在项目中创建一个服务帐户。然后域管理员必须向您的应用程序授予权限。之后,您可以使用服务帐户来模拟域中的任何用户,包括管理员。
关于python - Google Apps 域管理员可以列出用户的消息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33481849/