从超级管理员帐户读取委派电子邮件时出现错误,Gmail API"电子邮件的委派被拒绝 [英] Gmail API "Delegation denied for email" error while reading delegating email from a superadmin account

查看:9
本文介绍了从超级管理员帐户读取委派电子邮件时出现错误,Gmail API"电子邮件的委派被拒绝的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试从我的域中的另一个用户那里获取电子邮件,以便使用Google NodeJS库进行迁移。我的帐号是Superadmin,我的API启用了广域委派权限,作用域如下:

"https://www.googleapis.com/auth/apps.groups.migration",
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.settings.sharing"

我以模拟访问方式登录API

async function initializeGmail(emailToImpersonate) {
        const auth = await getAuth(emailToImpersonate);
        return google.gmail({
            version: 'v1',
            auth
        });
    }

    async function getAuth(emailToImpersonate) {
        const jwtClient = new google.auth.JWT(
            client_email,
            null,
            private_key,
            SCOPES,
            emailToImpersonate
        );
        await jwtClient.authorize();
        return jwtClient;
    }

我已在要迁移的帐户中添加了委派权限,以便可以从我的主帐户访问其电子邮件

const requestBody = {
        delegateEmail: user.email,
        verificationStatus: 'accepted'
}
await gmail.users.settings.delegates.create({userId, requestBody})

我请求迁移帐户的电子邮件,但收到以下错误

const gmail = await initializeGmail(userEmail);
const messages =  (await gmail.users.messages.list({auth, userId:userEmail})).data.messages;
code: 403,
errors: [
    {
      domain: 'global',
      reason: 'forbidden',
      message: 'Delegation denied for sysadmin@boatjump.com'
    }
]

我们将非常感谢您的帮助或建议

推荐答案

第一步-创建委派

  • 要创建代理人,参数delegateEmail必须指定代理人的主要电子邮件地址,我假设sysadmin@boatjump.com
  • documentation中指定的,委派创建必须由模拟委托者的服务帐户执行(我假设user.email是您的辅助帐户)

第二步-列出委托者的电子邮件

  • 身份验证为sysadmin@boatjump.co'(不需要服务帐户)
  • 指定为userIduser.email
您获得403错误的原因是您指定的 user.email而不是sysadmin@boatjump.com作为委托 因此没有传递给sysadmin@boatjump.com列出的权限 user.email的电子邮件。

更新:

如果在正确设置代理人后,您在检索代理人的电子邮件时仍然遇到问题,则此问题可能与Google问题跟踪器上已报告的this行为有关。

我建议您给它一个"星",以增加可见性和将来修复它的机会。

临时解决办法:

在使用服务帐号进行全域委派时,请以委托者的身份进行身份验证并代表其检索电子邮件(用户ID:"me")。

这篇关于从超级管理员帐户读取委派电子邮件时出现错误,Gmail API"电子邮件的委派被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆