This guide explains how to:
Integrate an Algo device with Google Calendar using OAuth
Verify the configuration by creating a test schedule in Google Calendar
Use the OAuth profile to create a test schedule in Google Calendar from an Algo 8450
Note
This document includes third-party configuration procedures that are subject to change. It is provided for reference purposes only, and Algo cannot guarantee that the screenshots or procedures will always be current or up to date.
Before you start
Ensure you have a Google account.
Procedure Overview
This procedure includes the following steps:
Creating a Google Cloud OAuth Project
Create a Google Cloud OAuth project and obtain the required credentials for OAuth.
Sign in to the Google Cloud Console.
Click Select a project.
 (1) (1).png)
Select New project.
(1) (1).png)
Enter a name for your project, then select Create.
.png)
In the notification window, click Select Project below your project name.
.png)
Select APIs & Services → Enabled APIs & services.
.png)
Select Enable APIs and services from the navigation menu.
.png)
Search Google Calendar API to locate it.
.png)
Select Google Calendar API
.png)
Select Enable.
.png)
Go to Data Access → Add or remove scopes.
.png)
Search and add “calendar.events”.
.png)
Select Credentials → + Create credentials → OAuth client ID.
.png)
Select Configure consent screen.
.png)
Select Get started.
.png)
Follow the on-screen instructions to configure your project, then select Create.
.png)
App Information
App name: Enter a name for your application.
User support email: Enter an email for users to contact you with questions about their consent.
Audience: Set to External.
This makes the application available to any test user with a Google Account.
Contact Information: Enter your email for Google to notify you about any changes to this project.
Finish: Accept the Google API services user data policy.
Select Create OAuth client.
.png)
Configure the following, then select Create.
(1).png)
Application type: Set to TVs and Limited Input devices.
Name: Enter a name.
Copy the Client ID and Client secret.
You need this information to configure OAuth later.
.png)
Go to Audience → + Add users.
Add your Google account as a test user to access the project.
.png)
Enter the same email you used to sign in to Google Cloud Console. Then select Save.
.png)
Creating an OAuth Authorization Profile
Create an OAuth profile to store your Google Calendar authentication settings.
Ensure you have the following:
Client ID
Client Secret
To create a Google Calendar OAuth Profile:
Log in to your device’s web interface using HTTPS.
HTTPS is required by the Google Calendar OAuth process.
Go to the Advanced Settings → OAuth.
Set a Name for your OAuth profile.
Select GOOGLE_DOCS as the Provider Type.
Accept the following automatically populated values:
Grant Type: DEVICE_CODE
Token URL: https://oauth2.googleapis.com/token
Client Auth Mode: CLIENT_SECRET_POST
Scope Mode: SCOPES_LIST
Extra Params (JSON):
{ "access_type": "offline", "include_granted_scopes": true, "prompt": "consent", "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs", "revocation_endpoint": "https://oauth2.googleapis.com/revoke", "device_authorization_endpoint": "https://oauth2.googleapis.com/device/code", "issuer": "https://accounts.google.com" }
Set the following:
Client ID: Enter your OAuth Client ID.
Client Secret: Enter your OAuth Client Secret.
Select START AUTHORIZATION.
Copy the User code that appears on the right of the START AUTHORIZATION button.
You need this code to connect your device to Google Calendar.
.png)
Enter your user code and select Continue.
.png)
Select your Google account.
.png)
Select Continue to verify the application.
 (1).png)
Select Continue.
.png)
Upon success, the following screen appears:
.png)
Go back to your Algo device’s web interface and select Create Profile.
Your profile appears under the OAuth Profiles list.
Creating a Test Schedule
You can create a test schedule to verify that the configuration is working correctly.
To create a meeting in Google Calendar:
Log in to your device’s web interface using HTTPS.
HTTPS is required by Google Calendar OAuth process.
Go to the Advanced Settings → OAuth.
Select your Google Calendar profile from the Test OAuth Profile dropdown list.
Select GOOGLE_DOCS as the Provider Type Template.
Accept the default Custom Header:
Content-Type: application/json; charset=utf-8Leave the Data Payload blank.
Set the Target URL and Path to https://www.googleapis.com/calendar/v3/calendars/primary/events/quickAdd?text=Meeting%20now%20for%2030%20minutes
This creates a test meeting starting from now that lasts 20 minutes.
Select RUN OAuth Test.
Upon success:
The schedule appears in your Google Calendar.
A successful response is displayed.
 (1).png)
Configuring an 8450 Button to Create a Google Calendar Schedule
You can configure a button on the Algo 8450 to create a Google Calendar schedule.
.png)
To configure an 8450 button to create a Google Calendar meeting:
Create a button on an 8450 screen.
Set the Button Status to Enabled.
Configure the following:
Text: Enter the button display text.
Action: Set to Send API Request.
Number of API Requests: Set to 1.
Request 1 - Command: Set to Other.
Request 1 - Method: Set to POST.
Request 1 - Custom Path: Set to
calendar/v3/calendars/primary/events/quickAdd?text=Meeting%20now%20for%2030%20minutesThis creates a test meeting starting from now that lasts 20 minutes.
Request 1 - Targets: Set to
www.googleapis.comRequest 1 - OAuth Profile: Select your Google Calendar profile.
Request 1 - Headers: Set to Custom Headers.
Request 1 - Custom Headers: Set to
Content-Type: application/json; charset=utf-8Request 1 - Data Payload: None
Select Save.
Press the button and verify that the schedule is created in your Google Calendar.
Troubleshooting
I get a 502 error when I run the OAuth Test
You may be logged out of the device’s web interface. Log in again and retry.
After I run the “Start Authorization” again, my OAuth Test fails
Each time you run Start Authorization again, select Update Profile to save the new credentials before running the test.
.png)
My OAuth profile stops working
An OAuth profile can stop working if the OAuth provider rejects or invalidates the access or refresh token. Refer to the OAuth provider’s documentation for more information. If this occurs, the OAuth profile must be reauthorized.