如何从 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
我正在尝试获取用于从服务帐户访问 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