feat: start working on google drive storage

This commit is contained in:
charlesgauthereau
2026-01-24 00:26:05 +01:00
parent 797b287899
commit 657586ddff
18 changed files with 1038 additions and 7 deletions
+31
View File
@@ -0,0 +1,31 @@
import { NextResponse } from "next/server";
import { google } from "googleapis";
export async function GET(request: Request) {
try {
const url = new URL(request.url);
const code = url.searchParams.get("code");
const clientId = url.searchParams.get("clientId");
const clientSecret = url.searchParams.get("clientSecret");
const redirectUri = url.searchParams.get("redirectUri");
if (!code || !clientId || !clientSecret || !redirectUri) {
return NextResponse.json({ error: "Missing parameters" }, { status: 400 });
}
try {
const oauth2Client = new google.auth.OAuth2(clientId, clientSecret, redirectUri);
const { tokens } = await oauth2Client.getToken(code);
// Save tokens.refresh_token securely in your DB here
return NextResponse.json(tokens);
} catch (err: any) {
console.error("Error exchanging code:", err);
return NextResponse.json({ error: "Failed to exchange code" }, { status: 500 });
}
} catch (error) {
console.error("Error in GET handler:", error);
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
}
}