# google-service Node.js TypeScript sluzba pro komunikaci s Google API za AppFactory reverse proxy. ## Endpointy - `GET /` - `GET /health` - `GET /docs` - `GET /openapi.json` - `GET /google/discovery/apis` - `GET /google/discovery/apis/{api}/{version}/rest` - `POST /google/oauth/token` - `POST /google/oauth/service-account-token` - `POST /google/oauth/revoke` - `GET /google/oauth/tokeninfo` - `POST /google/request` ## Konfigurace Volitelne environment variables: - `ROOT_PATH` - verejny prefix za AppFactory proxy, napr. `/apps/google-service` - `PORT` - port aplikace, vychozi hodnota je `3000` - `GOOGLE_CLIENT_ID` a `GOOGLE_CLIENT_SECRET` - OAuth client pro authorization code a refresh token flow - `GOOGLE_SERVICE_ACCOUNT_EMAIL`, `GOOGLE_PRIVATE_KEY`, `GOOGLE_SCOPES` - service account JWT flow - `GOOGLE_API_KEY` - API key pro Google API, ktere ji podporuji Secrets se nevraci v zadnem endpointu a neloguji se. ## Obecne volani Google API `POST /google/request` umi volat libovolny HTTPS endpoint na Google domene. Autorizace muze jit pres: - `Authorization: Bearer ` header na requestu do sluzby - `accessToken` v body - `accessTokenEnv` v body, napr. `GOOGLE_ACCESS_TOKEN` - `GOOGLE_API_KEY`, `apiKey` nebo `apiKeyEnv` pro endpointy podporujici API key Priklad: ```json { "method": "GET", "baseUrl": "https://www.googleapis.com", "path": "/drive/v3/files", "query": { "pageSize": 10 }, "accessTokenEnv": "GOOGLE_ACCESS_TOKEN" } ```