Google api 谷歌目录API和管理SDK

Google api 谷歌目录API和管理SDK,google-api,google-admin-sdk,google-directory-api,Google Api,Google Admin Sdk,Google Directory Api,当我试图从目录api访问列表中的用户时,我遇到错误403:未授权访问此资源/api。 我在这里遵循了以下步骤: 谷歌管理控制台上的域名与谷歌API中的组织名称相同 管理SDK已启用 API访问管理器中允许使用服务帐户 身份验证有效,我有一个令牌 这是我使用的代码 const google = require('googleapis').google; const directory = google.admin('directory_v1'); const key = require('.

当我试图从目录api访问列表中的用户时,我遇到错误
403:未授权访问此资源/api
。 我在这里遵循了以下步骤:

  • 谷歌管理控制台上的域名与谷歌API中的组织名称相同
  • 管理SDK已启用
  • API访问管理器中允许使用服务帐户
  • 身份验证有效,我有一个令牌
这是我使用的代码

const google = require('googleapis').google;
const directory = google.admin('directory_v1');

const key = require('./creds.json');
const scopes = [ "https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.orgunit"]

jwtOptions = {
  email: key.client_email,
  key: key.private_key,
  scopes: scopes,
}

const jwtClient = new google.auth.JWT(jwtOptions)

jwtClient.authorize( (err, tokens) => {
  if (err) {
    console.log(err);
    return;
  }

  // Make an authorized request to list Drive files.
  directory.users.list({
    auth: jwtClient,
    domain: 'mydomain.com',
  }, (err, resp) => {
    if (err) {
      console.log('error')
      console.log(err.errors)
    } else {
      console.log('success')
    }
  });
});

我错过了什么?

授权后,您必须授权您的服务帐户: 转到安全>高级设置>管理API客户端访问 然后添加服务帐户的id和用逗号划分的作用域。 等待24小时,然后可以使用目录api的服务帐户


Google有一些时间延迟,请稍等。

最后,我们尝试切换到另一种语言(PHP),代码运行正常。Google Node SDK似乎有问题,我们已经报告过了