PATH: System Administration > Campus Learning > Google Drive > Configuration
Google Drive integration provides a workflow where teachers can deliver assignments and documents to students and allow students to submit responses back to the teacher. Using Google Drive has a number of advantages over our existing CDR based workflow, such as the ability to use collaboration features and a much higher per user limit on document sizes.
The configuration process requires Campus administrators to extract information from their Google Developer Console and the Google Apps for Education Domain and input that information into Campus. This article provides you with step-by-step instructions for finding these values.
Use this tool to configure the integration of google drive files with assignments in Campus. Google Apps for Education can also be added as a Digital Learning Partner through the Learning Interoperability tool.
Looking for a visual guide? Click here for a powerpoint walking you through the configuration screens in Google:
Google Drive Configuration Tab
Currently, Campus supports Google Apps for Education accounts with a single domain or multiple domain setup.The legacy option of separate Google Apps accounts is not supported.
Complete the following steps to set up both single and multiple domain accounts. Additional information for multiple domain accounts is available at the end of the document.
The Campus Digital Repository (CDR) does not need to be enabled to configure Google Drive Integration.
Prior to beginning the configuration process, identify the following information by following the steps provided:
District’s Google Apps For Ed Domain Name | .................................................................................................. |
Admin user login to Google Apps For Ed Domain (or team up with a District Admin who has this) | |
District’s Infinite Campus URL | |
District’s Name | |
Which schools at the district should have Google Drive Enabled | |
Which Teachers at the district should have Google Drive Enabled | |
Logins to District Db and App servers |
Setup the Google Dev Console
To enable the Google Drive workflow, a project must be created in the Google Developer console. This project needs to be defined per district, because the project’s OAuth credentials specify authorized JavaScript origins (which vary per district) and because Google enforces limits on how many requests each project is allowed to make in a given day. Keeping it district-specific allows more requests for that district.
A Google user must own the project. This user should be a district administrator for the Google Apps For Ed account. Some screenshots in this document are taken from a demo Google Apps For Ed domain.
Disclaimer: The images in this article may not match the Google Developer Console or Google Apps for Education tools exactly.
Step 1. Go to the Google Developers Console
The first step is to go to the Google Developer Console: https://console.developers.google.com/start
Step 2. Create a New Project
Create a new project from the Select a project dropdown list found in the upper right-hand corner of the screen. Give your project a meaningful Project Name, which is displayed in the Google Dev Console.
Once you click Create, the page should refresh within a few seconds with your project name selected at the top. If you still see "Select a Project", open the dropdown list, select the project you just created, and click Open.
Step 3. Disable Default APIs
In the sidebar on the left, expand APIs & auth and click APIs. The list of Enabled APIs includes several automatically enabled APIs. These are not used for Google Drive integration so they can be ignored or disabled.
Step 4. Enable Drive, Google Picker, and Google+ APIs
At the top, select API Library. Search for and enable 3 APIs: Drive API, Google Picker API, and Google+ API.
- Start by searching for the Drive API. The API displays below. Click the hyperlink for Drive API and then Enable API.
- Search for Google Picker API. The Google Picker API displays in the search results below. Click the hyperlink for Google Picker API and then Enable API.
- Search for the Google+ API. The Google+ API displays in the search results below. Click the hyperlink for Google+ API and then Enable API.
Step 5. Create Credentials
Throughout this process, these instructions prompt you to record certain fields to enter in the Google Drive Configuration tab in Campus.
In the sidebar on the left, select Credentials under APIs & auth to create an API Key, a OAuth 2 client, and a Service Account.
API Key
Start by clicking on API Key.
- Select Browser Key.
- Enter the district's HTTP referrer address, starting with https://. The Name can be left as the default.
- Once an HTTP referrer address has been entered, click Create. You are prompted with your API Key.
Record this Key to include in the information entered on the Google Drive Configuration tab. Your API Key will be different from the example below.
API Key
OAuth 2.0 Client ID
Click OK and select OAuth 2.0 client ID from the Credentials list. When prompted, click Configure consent screen. This screen asks users if they agree to allow data sharing with their district’s Infinite Campus instance.
- Enter the Email Address. This should be the email address of the user performing the configuration. This email address will be accessible to users through an unmarked hyperlink on the screen that displays when users first connect their Google Drive account with Campus.
- Enter a Product Name of “Campus Google Drive Integration.”
- A Homepage URL is not required; enter the Campus login URL or the district homepage URL.
- The example Project Logo is an image distributed by Infinite Campus; append “/campus/images/logos/arcs.png” to your district’s Campus URL. This URL must be external for the logo preview to work.
Save your OAuth Screen settings. The wizard should return you to the OAuth 2.0 client setup and ask the Application type.
- Select an Application Type of Web application.
- You can leave the default Name value or modify it if you prefer.
- Enter your URL to Campus as your Authorized Javascript origins value. For authorized JavaScript origins you must enter the address of the district’s Campus server starting with https://. (Do not include trailing / or /campus path. If running on a non-standard port, the port number must also be included, ex: http://localhost:8080/.)
- Click Create (Image 14).
Your Client ID and Client Secret display. Record the Client ID to enter in the Client ID field on the Google Drive Configuration tab. Your values will be different from those shown in the example below.
Client ID and Client Secret
Service Account
Next, return to Credentials, click Create Credentials and then Service Account key. Select New Service Account from the dropdown list.
Enter a service account Name, select the P12 radio button, select a Role of Editor, and click Create. At this point, your browser downloads a P12 file. Copy this file and save it. This file is uploaded to the Configuration tab.
Return to the Credentials screen. Your new Service Account should display. Select the Manage Service Accounts link on the right-hand side of the screen to access the Service Accounts screen. Select the three dots on the right-hand side of your Campus services account and click Edit. Mark the Enable Google Apps Domain-wide Delegation checkbox and click Save to return to the Service Accounts screen.
Click the View Client ID hyperlink on the right-hand side of your service account. Copy the Service Account email address values. Record this value to include in the Configuration tab.
Client ID and Email Address
Congratulations, you’re done setting up your project in the Google Developer console.
Setup the Google Apps for Education Domain
The service account that you created now needs to be granted access to the Google Apps domain’s user data, which enables modifying ownership and sharing settings when students submit their work to teachers or delete their already submitted work.
The following tasks must be performed by an administrator of the Google Apps domain:
- Go to your Google Apps domain's Admin Console: http://admin.google.com/
- Select Security from the list of controls. If you don't see Security listed, select More controls from the gray bar at the bottom of the page, then select Security from the list of controls.
- Select Advanced settings from the list of options (you may need to select Show More).
- Select Manage API client access in the Authentication section.
- In the Client name field, enter the Client ID of the Service Account Client that you created in Google Developer console.
- For example (do not use): 658947215849326584971
- In the One or More API Scopes field, copy the scope exactly as entered below:
- https://www.googleapis.com/auth/drive
- Click the Authorize button to the right of the Scopes.
Console and Domain setup is now complete. The Remaining Setup tasks are handled by Infinite Campus.
Enter the information gathered from Google Developer console and Google Apps for Ed domain onto the Google Drive Configuration tab. Campus configures your Campus production site to use the web client and service account you configured.
The values collected are:
- the Google Apps for Ed domain
- the API Key
- the OAuth Client ID
- the Service Account Email
- the Service Account Certificate P12 file (which is uploaded to the Configuration tab).
Multiple Domain Accounts
To configure Google Drive Integration for a Google Apps account with multiple domains, click Use Multiple Domains. Fields for an additional domain display, as well as options to add more domains.
Adding Additional Domains
Enter any additional domains beyond the primary domain. Alternately, after completing the configuration process using your primary domain, click Automatic Fill from Google to automatically add any additional domains associated with that account. Click Save when finished.
Disable Google Drive Accounts
To disable a configured account, unmark the Enable Google Drive checkbox and save the record.