首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >全域委派

全域委派
EN

Stack Overflow用户
提问于 2019-03-25 08:24:07
回答 1查看 136关注 0票数 0

我正在尝试使用具有域范围委派的服务帐户,这样我就可以模拟用户并在他们的G-Suite帐户上工作(特别是垃圾电子邮件)。看起来我可以使用服务帐户进行身份验证,但是当我运行代码时,我告诉我我的帐户(不是服务帐户)没有域范围的委派,并且失败了。我不知道我哪里出错了,或者这在App Script上是不可能的。代码和错误消息如下。

代码语言:javascript
运行
复制
function run() {
  var service = getService();
  if (service.hasAccess()) {
    var url = 'https://www.googleapis.com/gmail/v1/users/' + '[impersonation_email]' + '/threads';
    var response = UrlFetchApp.fetch(url, {
      headers: {
        Authorization: 'Bearer ' + service.getAccessToken()
      },
      muteHttpExceptions: true
    });
    Gmail.Users.Threads.trash(userId=[impersonation_email], id=[specific_email_id]);
  } else {
    Logger.log(service.getLastError());
  }
}

function getService() {
  return OAuth2.createService('Gmail:' + '[impersonation_email]')
      .setTokenUrl('https://accounts.google.com/o/oauth2/token')      
      .setPrivateKey([service_account_PRIVATE_KEY_location])
      .setIssuer([service_account_CLIENT_EMAIL])
      .setSubject([impersonation_email ])
      .setPropertyStore(PropertiesService.getScriptProperties())
      .setScope('https://mail.google.com/')
}

错误消息:

代码语言:javascript
运行
复制
API call to gmail.users.threads.trash failed with error: Delegation denied for [my email account]
EN

回答 1

Stack Overflow用户

发布于 2019-03-26 06:03:55

全域委派仅适用于GSuite域中的用户,并且只能由该域中的管理员进行配置。

假设上面的语句描述了您的设置,那么您可能跳过了一个步骤。

我怀疑你忘了update your client API access from the Admin console

您必须在管理控制台的该对话框(在上面的链接中)中设置要使用的每个作用域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55329895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档