【发布时间】:2022-01-09 03:58:31
【问题描述】:
我正在尝试使用 Google Sheets API 做一个 API。但是在我的应用程序中,我总是得到一个空数组作为响应。这些是我的代码:
index.routes.js
import { Router } from "express";
const router = Router();
const funciones = require("../functions/index.functions.js");
router.get("/", (req, res) => {
res.render("index.hbs");
});
router.post("/trabajador/agregar", (req, res) => {
console.log(req.body);
res.send("Trabajador Agregado");
});
router.get("/trabajador/obtener", (req, res) => {
res.send(funciones.obtenertrabajadores());
});
export default router;
index.functions.js
const {google} = require('googleapis');
const sheets = google.sheets('v4');
async function obtenertrabajadores () {
const authClient = await authorize();
const request = {
// ID DE LA HOJA
spreadsheetId: 'ID',
// RANGO
range: 'C1:C',
// UNFORMATTED_VALUE.
valueRenderOption: 'UNFORMATTED_VALUE',
// SERIAL_NUMBER
dateTimeRenderOption: 'SERIAL_NUMBER',
auth: authClient,
};
try {
const response = (await sheets.spreadsheets.values.get(request)).data;
return JSON.stringify(response, null, 2);
} catch (err) {
console.error(err);
}
}
async function authorize() {
let authClient = 'AuthKey';
if (authClient == null) {
throw Error('authentication failed');
}
return authClient;
}
module.exports = {
obtenertrabajadores: obtenertrabajadores
};
如果我在控制台记录响应,代码可以工作,但是当我向 /trabajador/obtener 发出 GET 请愿时,返回“{}”
我希望响应是一个 json,其中包含从对 Google Sheet 的请求中获得的数据
我想这是因为它正在返回一个承诺,但我该如何解决呢?
【问题讨论】:
-
首先,尝试控制台记录 const 响应。然后你会看到你得到了什么作为对你的请求的回应。如果您正在获取数据,我建议您将您的函数用作中间件。
-
当然,如果我在控制台登录,我会得到如下信息: GET /trabajador/obtener 200 6.267 ms - 2 [ [ 'NOMBRE' ], ] 但我不知道如何发送响应
标签: node.js express google-api-nodejs-client