45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
|
# API Samples
|
||
|
|
||
|
This directory contains a simple Sinatra web app illustrating how to use the client
|
||
|
in a server-side web environment.
|
||
|
|
||
|
It illustrates a few key concepts:
|
||
|
|
||
|
* Using [Google Sign-in](https://developers.google.com/identity) for authentication.
|
||
|
* Using the [googleauth gem](https://github.com/google/google-auth-library-ruby) to
|
||
|
request incremental authorization as more permissions are needed.
|
||
|
|
||
|
# Setup
|
||
|
|
||
|
* Create a project at https://console.developers.google.com
|
||
|
* Go to the `API Manager` and enable the `Drive` and `Calendar` APIs
|
||
|
* Go to `Credentials` and create a new OAuth Client ID of type 'Web application'
|
||
|
* Use `http://localhost:4567/oauth2callback` as the redirect URL
|
||
|
* Use `http://localhost:4567` as the JavaScript origin
|
||
|
|
||
|
Additional details on how to enable APIs and create credentials can be
|
||
|
found in the help guide in the console.
|
||
|
|
||
|
## Example Environment Settings
|
||
|
|
||
|
For convenience, application credentials can be read from the shell environment
|
||
|
or placed in a .env file.
|
||
|
|
||
|
After setup, your .env file might look something like:
|
||
|
|
||
|
```
|
||
|
GOOGLE_CLIENT_ID=479164972499-i7j6av7bp2s4on5ltb7pjXXXXXXXXXX.apps.googleusercontent.com
|
||
|
GOOGLE_CLIENT_SECRET=JBotCTG5biFWGzXXXXXXXXXX
|
||
|
```
|
||
|
|
||
|
# Running the samples
|
||
|
|
||
|
To start the server, run
|
||
|
|
||
|
```
|
||
|
ruby app.rb
|
||
|
```
|
||
|
|
||
|
Open `http://localhost:4567/` in your browser to explore the sample.
|
||
|
|