Google - Set up OAuth Consent Screen
Google API Keys are needed for OAuth logins for a number of 360Works products. These keys can also be used to [Access FileMaker Databases using OAuth]. This guide will walk you through setting up an OAuth consent screen and getting Google API Keys.
Generate your own keys
Step 1 Go to https://console.developers.google.com/ . If you do not already have a Google account, you will need to create one. It is recommended that if you are setting this up that you go ahead and create a new account with a username and password that you are comfortable sharing with your users/co-workers
- Click Create Project.
- Give the project a name, then click "Create".
- Now let's set up the OAuth Consent Screen, use the menu to navigate there:
- For User Type, we will be using "External", which will work for anyone with a Google account, but will show a warning that the app is not verified. If you are a G Suite user, you may choose "Internal" here, and avoid the warning, but this will only work for users inside your G Suite account.
- Click "Create"
- On the next screen, fill out the following required fields:
- App Name (Can be anything)
- User Support Email (Use your logged in Gmail address)
- Authorized Domains (Use "360Works.com", this is necessary for the OAuth redirect later)
- Developer Contact Information (Use your logged in Gmail address)
- Once all required fields are filled out, click "Save and Continue"
- Skip the Scopes for now, we need to enable the API so that we can select them, and we will do that later.
- Click "Save and Continue"
- Test Users (External accounts only. If you are a GSuite user and selected "Internal" earlier, you may skip this.)
- Add the Gmail addresses for each user that you will want to connect to. For example, if you want to use the Email Plugin to send emails through Gmail, you will need to add the Gmail address you want to send from here. Another example, if you want Zulu to sync with a specific user's Google Calendar, add that user's email address here.
- Click "Save and Continue"
- Summary Screen. Review the details on the summary. If everything looks correct, click the "Back To Dashboard" button.
- Getting Credentials. After saving the OAuth Consent Screen, navigate to "Credentials" from the menu
- Click "+ Create Credentials", then select "OAuth client ID"
- Fill out the form with the following values:
- Application Type : Web Application
- Name : MyOAuthClient (This can be anything though)
- Authorized Redirect URIs : Add both of the following
- Now choose the scopes that we want to authorize. See the following pages for the proper scopes to choose:
Step 3 Back on the Dashboard, click on Enable APIs And Services. On the next page, scroll down the page till you see Google Calendar API, click it, and on the next page click Enable
Step 4 On the Overview page, look for the Google Calendar API, click on Create Credentials
Step 6 You should be prompted to set up the OAuth Consent screen, select that option and this should open in a new window/tab.
Step 7 On the OAuth consent screen, you will have a choice of User Type: Internal or External. We suggest External. Internal users are available to GSuite users, and this setting is limited to users within an organization. External users are available to any test user with a Google Account. If you do not have a GSuite account, you must select External, and this documentation will follow the External User set up.
On the OAuth consent screen, Enter Zulu as the Application name. You do not need to include an Application logo, the support email should be set as the email you signed into Google with.
For Developer contact information, this should be an email address for you to receive alerts and updates about your own copy of Zulu. This is not 360Works development or support email addresses.
Next you will be taken to Scopes. Click "Add or Remove Scopes".
You will need to select the following Scopes and save them to your project: auth/calendar & auth/calendar/events. Once you have selected and saved the Scopes, you should see a summary of added Scopes similar to the screen below. Save and continue.
You will be taken to a Users section. You will need to add user email addresses for your Zulu calendars. You will be given the chance to add 100 users while in "Test Mode". You do not need to add them all immediately, you are able to edit this list. You can fully use Zulu in test mode, however if you would like to add additional users beyond the initial 100, you will need to authenticate your app and usage with Google.
Step 8 Once you have saved the OAuth consent screen information, you will be taken back to a summary page. On the left side of the page, please navigate to "Credentials" to complete setting up your keys.
Under the "Create Credentials" heading, select "OAuth Client ID".
Step 9 You will be given a screen with a Client ID and a Client Secret. These are your keys that will ensure your access to the Google Calendar API for your own Zulu account. These will continue to be available in your Google Developer Console, however it is a good idea to save a copy somewhere safe. Do not share this key between other applications. Keep it secret, keep it safe.
Step 10 Open the Zulu.xml file on your machine in a text editor. The Zulu.xml file is found at /Library/360Works/Applications/conf/Catalina/localhost/zulu.xml on Mac and C:\Program Files\360Works\Applications\conf\Catalina\localhost/zulu.xml on Windows . Look for the section that says "Customize these parameters to use your own Google Calendar API key"
Step 11 Copy the value for "client_ID" and paste it in for the value for the "google.client.id" parameter in the zulu.xml file. Copy the value for the "client_secret" and then paste it in for the value of the "google.client.secret" parameter in the zulu.xml file. and then save the zulu.xml file
Step 12 Restart Zulu using the 360Works Admin utility found in /Applications on Mac and C:\Program Files\360Works on Windows. Launch the file, select Zulu and click Stop and then Start.
Note: If you have a pre-existing Google sync with Zulu, you will need to edit your configurations to apply these new Google API Keys. Step through the configuration, and on the step where you authenticate to Google, do this:
- Select "Sync with Exchange"
- Select "Sync with Google" again
This will allow you to re-authenticate your Google account, and store this new authentication as part of the sync configuration.