// ────────────────────────────────────────────────────────────── // 1️⃣ Helper: create an authenticated Google API client // ────────────────────────────────────────────────────────────── async function getAuthClient() // Preference order: // 1️⃣ Service‑account (ideal for server‑to‑server) // 2️⃣ OAuth2 (interactive flow) const saPath = process.env.SA_KEY_PATH
dotenv.config(); // loads .env (optional) Proxy Google Docs List
const app = express(); const PORT = process.env.PORT || 3000; const PORT = process.env.PORT || 3000
Run npm install (or yarn ) after creating the file. // server.js import express from "express"; import morgan from "morgan"; import dotenv from "dotenv"; import google from "googleapis"; import readFile from "fs/promises"; import path from "path"; import fileURLToPath from "url"; import morgan from "morgan"
res.json( count: docs.length, docs ); catch (err) console.error("❌ Error while listing Docs:", err); res.status(500).json( error: "Failed to fetch Google Docs list", details: err.message ); );
# 2️⃣ (If you are using a service‑account) make sure service-account.json is present # If you prefer OAuth, place oauth-client.json and run the first‑time flow.