我们为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>
是我测试的域名。)
域管理员是否可以列出除他自己以外的用户的消息?我没有在文档中找到它。
更新:我尝试使用我们应用程序中用户的电子邮件地址进行身份验证,然后才能运行。但我更愿意使用域管理员的电子邮件地址进行身份验证。
答案 0 :(得分:1)
有可能。为此,您需要模拟用户,然后对您提到的API进行相同的调用。
为了代表hi冒充用户行为,您必须实施domain wide delegation权限。
为此,您必须在项目中创建服务帐户。然后,域的管理员必须授予您的应用程序授权。之后,您可以使用服务帐户模拟域中的任何用户,包括admin。