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