如何从 googleapis 获取 access_token?

How to get an access_token from googleapis?

我正在尝试获取用于从服务帐户访问 Firebase 托管 API 的访问令牌,如 here 所述。
下面的代码不是 return access_token,而是 id_token,它在尝试使用 API.
时无法通过身份验证 我究竟做错了什么?我怎样才能获得访问令牌?

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

var serviceAccount = require("../functions/src/services/serviceAccountKey.json");

async function getAccessToken() {
    try {
        const jwtClient = new google.auth.JWT(
            serviceAccount.client_email,
            null,
            serviceAccount.private_key,
            ["firebasehosting.googleapis.com"],
            null
        );
        const credentials = await jwtClient.authorize();
        console.log(credentials);
    } catch (error) {
        console.log(error);
    }
}

getAccessToken();

它return是一个凭据对象:

{
  access_token: undefined,
  token_type: 'Bearer',
  expiry_date: undefined,
  id_token: '...', // edited out
  refresh_token: 'jwt-placeholder'
}

记录一下,终于搞定了
我的令牌范围无效:我应该使用 https://www.googleapis.com/auth/firebase
列出了有效范围 here