Google 目录 API 用户列表请求因 400 无效输入而失败

Google Directory API user list request failing with 400 Invalid Input

我正在尝试在执行来自 https://developers.google.com/admin-sdk/directory/v1/reference/users/list?apix_params=%7B%22customer%22%3A%22my_customer%22%7D 的请求时获得成功响应。我收到 400 Invalid Input 回复。

使用客户端库(https://www.npmjs.com/package/googleapis, v47),调用时:

google.admin('directory_v1')
  .users.list({
     auth: oAuth2Client,
     customer: 'my_customer',
     orderBy: 'email',
     maxResults: 500,
     pageToken: null
  }).then(...);

,我在成功处理程序中收到一个 Request 对象,而不是有效的响应(响应应该具有 https://developers.google.com/admin-sdk/directory/v1/reference/users/list 底部描述的形状)。

我做错了什么?

原来问题出在身份验证过程中,使用 google-auth-library。 我已经采用了这样的方法:

const {google} = require('googleapis');

const oAuthClient = await google.auth.getClient({keyFile: ..., scopes: [...]});
oAuthClient.credentials = await new google.auth.JWT(...).authorizeAsync();

const {data} = await google
  .admin({version: 'directory_v1', auth: oAuthClient})
  .users
  .list({
     customer: 'my_customer'
  });