Files
scan-wave/src/routes/private/api/google/README.md
2025-07-02 23:33:35 +02:00

1.5 KiB

Google API Integration

This directory contains unified endpoints for Google API integration, all protected under the /private route to ensure only authenticated users can access them.

Auth Endpoints

/private/api/google/auth/refresh

  • Method: POST
  • Purpose: Refreshes an access token using a refresh token
  • Body: { "refreshToken": "your-refresh-token" }
  • Response: { "accessToken": "new-access-token", "expiresIn": 3600 }

/private/api/google/auth/userinfo

  • Method: GET
  • Purpose: Gets information about the authenticated user
  • Headers: Authorization: Bearer access_token
  • Response: { "email": "user@example.com", "name": "User Name", "picture": "profile-pic-url" }

/private/api/google/auth/revoke

  • Method: POST
  • Purpose: Revokes an access token
  • Body: { "accessToken": "token-to-revoke" }
  • Response: { "success": true }

Sheets Endpoints

/private/api/google/sheets/recent

  • Method: GET
  • Purpose: Gets a list of recent spreadsheets
  • Headers: Authorization: Bearer refresh_token
  • Response: Array of spreadsheet objects

/private/api/google/sheets/[sheetId]/data

  • Method: GET
  • Purpose: Gets data from a specific spreadsheet
  • Headers: Authorization: Bearer refresh_token
  • URL Parameters: sheetId - The ID of the spreadsheet
  • Response: Spreadsheet data including values array

Client Usage

Use the utility functions in $lib/google.ts to interact with these endpoints.