Я пытаюсь создать простой express сервер, который добавляет некоторые данные в таблицу Google, когда что-то запрашивается по ссылке. Все работает локально, но сейчас запрос работает, но не добавляет данные в do c.
Индекс. js
const express = require("express");
const app = express();
const cors = require("cors");
const bodyParser = require("body-parser");
const base64 = require("base-64");
app.use(cors());
const { GoogleSpreadsheet } = require("google-spreadsheet");
const creds = require("./client_secret.json");
const doc = new GoogleSpreadsheet(
"11...."
);
async function accessSpreadsheet(depts, email) {
await doc.useServiceAccountAuth({
client_email: creds.client_email,
private_key: creds.private_key,
});
await doc.loadInfo(); // loads document properties and worksheets
console.log(doc.title);
console.log(depts);
const sheet = doc.sheetsByIndex[1];
const rows = await sheet.getRows(); // or use doc.sheetsById[id]
console.log(sheet.title);
console.log(sheet.rowCount);
await sheet.loadCells("B1:C500");
depts.forEach((value) => {
var a1 = sheet.getCell(value.id + 1, 2);
a1.value += ", " + email;
});
sheet.saveUpdatedCells();
}
app.post(
"/form/:email/",
(req, res, next) => {
const email = base64.decode(req.params.email);
const depts = JSON.parse(req.query.array);
accessSpreadsheet(depts, email);
next();
},
(req, res) => {
res.send(req.params + "success!");
}
);
app.post("/form/", (req, res) => {
res.send("please send post req");
});
app.get("/form/", (req, res) => {
res.send("please send post req");
});
app.get("/", (req, res) => {
res.send("e-Lite reg api");
});
app.listen(3000, () => console.log(`Example app listening on port ${3000}!`));
сейчас. json
{
"version": 2,
"builds": [{ "src": "index.js", "use": "@now/node-server" }],
"routes": [
{
"src": "/",
"dest": "/index.js",
"methods": ["GET"]
},
{
"src": "/form.*",
"dest": "/index.js",
"methods": ["GET", "POST"]
}
]
}
Я не думаю, что это проблема с кодом. Все работает локально. Zeit не сообщает об ошибках в API.