Skip to content

Simple GraphQL API wrapper for Google apps (calendar, sheets, and gmail)

License

Notifications You must be signed in to change notification settings

henry74/gsuite-graphql-server

Repository files navigation

Simple GraphQL API for Google Apps (Calendar, Sheets, Gmail)

Setup

  1. Create a new Google project and enable Google Calendar, Sheets, and Gmail API
  2. Create OAuth 2.0 client ID credentials
  3. Copy Client ID and Client Secret into .env
# See .env.example for required environment variables

Generate token manually (can also be done through API)

yarn authorize

Building Docker Images

Build and push image for x86 architecture

docker build -t your.registry.domain/path/gsuite-graphql-api .
docker push your.registry.domain/path/gsuite-graphql-api

Build and push image on x86 architecture for ARM7 architecture (e.g. Raspberry Pi)

docker build -f armv7hf.Dockerfile -t your.registry.domain/path/gsuite-graphql-api:armv7hf .
docker push your.registry.domain/path/gsuite-graphql-api:armv7hf

API Usage

Terminal/CLI

yarn start # start graphql playground on http://localhost:4000

Dockerfile (after building)

docker run -d \
   -p 4001:4000 \
   -e GOOGLE_OAUTH2_CLIENT_ID="123412341234-randombunchofcharacters.apps.googleusercontent.com" \
   -e GOOGLE_OAUTH2_CLIENT_SECRET="1234asdf1234" \
   -e GOOGLE_OAUTH2_REDIRECT_URL="urn:ietf:wg:oauth:2.0:oob" \
   -e TOKEN_PATH=./token.json \
   your/image:latest

spreadsheetId is located in the spreadsheet URL: https://docs.google.com/spreadsheet/d/spreadsheetId/edit

Click schema tab within graphQL playground for details

About

Simple GraphQL API wrapper for Google apps (calendar, sheets, and gmail)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published