Создание листов с использованием облачных функций Google - PullRequest
0 голосов
/ 13 февраля 2019

Я хочу динамически создать электронную таблицу 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);
    }
  );
});
...