Documentation Index

Fetch the complete documentation index at: https://docs.algosolutions.com/llms.txt

Use this file to discover all available pages before exploring further.

Example: OAuth Configuration for Google Calendar

Prev Next

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:

  1. Creating a Google Cloud OAuth Project

  2. Creating an OAuth Authorization Profile

  3. Creating a Test Schedule

  4. (Optional): Configuring an 8450 Button to Create a Google Calendar Schedule


Creating a Google Cloud OAuth Project

Create a Google Cloud OAuth project and obtain the required credentials for OAuth.

  1. Sign in to the Google Cloud Console.

  2. Click Select a project.

  3. Select New project.

  4. Enter a name for your project, then select Create.

  5. In the notification window, click Select Project below your project name.

  6. Select APIs & ServicesEnabled APIs & services.

  7. Select Enable APIs and services from the navigation menu.

  8. Search Google Calendar API to locate it.

  9. Select Google Calendar API

  10. Select Enable.

  11. Go to Data Access Add or remove scopes.

  12. Search and add “calendar.events”.

  13. Select Credentials + Create credentials OAuth client ID.

  14. Select Configure consent screen.

  15. Select Get started.

  16. Follow the on-screen instructions to configure your project, then select Create.

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

  17. Select Create OAuth client.

  18. Configure the following, then select Create.

    • Application type: Set to TVs and Limited Input devices.

    • Name: Enter a name.

  19. Copy the Client ID and Client secret.

    You need this information to configure OAuth later.

  20. Go to Audience + Add users.

    Add your Google account as a test user to access the project.

  21. Enter the same email you used to sign in to Google Cloud Console. Then select Save.

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:

  1. Log in to your device’s web interface using HTTPS.

    HTTPS is required by the Google Calendar OAuth process.

  2. Go to the Advanced SettingsOAuth.

  3. Set a Name for your OAuth profile.

  4. Select GOOGLE_DOCS as the Provider Type.

  5. Accept the following automatically populated values:

    • Grant Type: DEVICE_CODE

    • Token URL: https://oauth2.googleapis.com/token

    • Auth URL: https://oauth2.googleapis.com/device/code

    • Client Auth Mode: CLIENT_SECRET_POST

    • Scope Mode: SCOPES_LIST

    • Scope: https://www.googleapis.com/auth/calendar

    • 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"
      }
  6. Set the following:

    • Client ID: Enter your OAuth Client ID.

    • Client Secret: Enter your OAuth Client Secret.

  7. Select START AUTHORIZATION.

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

  9. Go to https://www.google.com/device.

  10. Enter your user code and select Continue.

  11. Select your Google account.

  12. Select Continue to verify the application.

  13. Select Continue.

    Upon success, the following screen appears:

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

  1. Log in to your device’s web interface using HTTPS.

    HTTPS is required by Google Calendar OAuth process.

  2. Go to the Advanced SettingsOAuth.

  3. Select your Google Calendar profile from the Test OAuth Profile dropdown list.

  4. Select GOOGLE_DOCS as the Provider Type Template.

  5. Accept the default Custom Header:

    Content-Type: application/json; charset=utf-8
  6. Leave the Data Payload blank.

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

  8. Select RUN OAuth Test.

    Upon success:

    • The schedule appears in your Google Calendar.


      A successful response is displayed.

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.

To configure an 8450 button to create a Google Calendar meeting:

  1. Create a button on an 8450 screen.

  2. Set the Button Status to Enabled.

  3. 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%20minutes

      This creates a test meeting starting from now that lasts 20 minutes.

    • Request 1 - Targets: Set to www.googleapis.com

    • Request 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-8

    • Request 1 - Data Payload: None

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

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.