Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 尝试为Gmail启用IMAP时,委派被拒绝_Reactjs_Google Api - Fatal编程技术网

Reactjs 尝试为Gmail启用IMAP时,委派被拒绝

Reactjs 尝试为Gmail启用IMAP时,委派被拒绝,reactjs,google-api,Reactjs,Google Api,我正在尝试使用npm的GoogleAuth库创建一个用户帐户,然后启用IMAP。从我所读到的,我有一个组织谷歌工作区,创建了一个服务帐户,并为相关范围启用了域范围的委托。然后,我成功地创建了一个用户帐户,但启用IMAP会导致以下错误 { "error": { "code": 403, "message": "Delegation denied for myadmin@myorganization.com&q

我正在尝试使用npm的GoogleAuth库创建一个用户帐户,然后启用IMAP。从我所读到的,我有一个组织谷歌工作区,创建了一个服务帐户,并为相关范围启用了域范围的委托。然后,我成功地创建了一个用户帐户,但启用IMAP会导致以下错误

{
  "error": {
    "code": 403,
    "message": "Delegation denied for myadmin@myorganization.com",
    "errors": [
      {
        "message": "Delegation denied for myadmin@myorganization.com",
        "domain": "global",
        "reason": "forbidden"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}
下面是我正在使用的代码片段

enableImapForUser(useremail: string) {
    const auth = new GoogleAuth({
      credentials: JSON.parse(process.env.GOOGLE_CREDENTIALS),
      scopes: ["https://www.googleapis.com/auth/gmail.settings.basic"],
      clientOptions: {
        subject: "myadmin@myorganization.com",
      },
    });

    const requestOptions: GaxiosOptions = {
      url:
        "https://gmail.googleapis.com/gmail/v1/users/" +
        useremail +
        "/settings/imap",
      method: "PUT",
      headers: { "Content-type": "application/json" },
      body: JSON.stringify({ enabled: true }),
    };
    return auth.request(requestOptions);
  }
useremail变量包含新创建的用户的电子邮件地址。从这里的其他答案来看,很多人建议使用“我”而不是传递电子邮件地址,但这会为我的帐户打开IMAP,即。myadmin@myorganization.com. 这是否意味着我需要对新创建的帐户进行身份验证,然后尝试启用IMAP?似乎与域范围的授权,这应该是可能的,如果我使用我的管理电子邮件。我重新检查了权限,它们看起来都很好,我遗漏了什么