Я хочу динамически создать электронную таблицу Google, используя API Sheets с учетной записью службы и JWT в облачной функции.Этот лист недоступен для других, за исключением служебной электронной почты (с которой я не могу войти в систему).
Есть ли обходной путь?
const SCOPES = ["https://www.googleapis.com/auth/spreadsheets"];
const jwtClient = new google.auth.JWT({
email: serviceAccount.client_email,
key: serviceAccount.private_key,
scopes: SCOPES
});
const jwtAuthPromise = jwtClient.authorize();
const sheets = google.sheets({ version: "v4" });
exports.createNewSS = functions.https.onRequest(async (req, res) => {
const resource = {
properties: {
title: "Testing sheet " + Date.now()
}
};
await jwtAuthPromise;
await sheets.spreadsheets.create(
{
auth: jwtClient,
fields: "spreadsheetId",
resource
},
(err, ss) => {
if (err) {
return console.log("Error creating new sheet: " + err);
}
res.send(ss.data);
return console.log(ss.data);
}
);
});