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.
 | 
						|
 |