How do I integrate Google Workspace (formerly G Suite) to enable Google Drive collaboration?
Google integration options
Buzz enables two types of integration with Google:
- Automatic integration with Google Drive (Learn more): Most Buzz domains are automatically integrated with Google Drive, allowing users to use Google Drive documents in Buzz as long as they have a Google account. This integration does not include collaborative tools.
- Google Workspace (formerly G Suite) integration (covered in this article): This integration requires more setup, requires users to have a Gmail address attached to their Buzz account, and enables collaborative tools.
Google Workspace integration
Google Workspace integration enables:
- Easy creation of Google Drive documents in the Student app when completing a dropbox activity. Previously, if students wanted to submit an activity as a Google Doc, they had to create the document in their Google Drive, then open the activity in Buzz and search for that document to attach. Now they can create and submit all within Buzz.
- PDF snapshots of Google Drive submissions. When a student submits an activity as a Google Doc, Buzz creates a PDF snapshot that is available to both the student and the teacher. This way a record remains if the student makes changes to the document, or even if the Google Drive account is deactivated.
- Automatic permissions management. Google Docs makes collaboration and inline commenting easy, as long as all members have the correct permissions. With Google Workspace integration, Buzz automatically gives students (including students that are in the same group assignment) and teachers the correct permissions for easy collaboration. If, for any reason, permissions are not correctly granted, users will simply ask for permission using Google Drive.
- Automatic copies of Google Drive documents when duplicating activities. Teachers can include Google Drive documents as part of activities. If a colleague wants to duplicate the activity for their own use, they can easily copy the attached Google Drive document to their Google Drive for their own use.
- How do I create a Google Doc activities in Buzz?
- How do I create a Google Document Dropbox Template?
Google Workspace integration setup
Google Workspace integration is managed by Admins at your root domain. Once it is set up, it is inherited by all subdomains.
In order to set up your Google Workspace integration:
- You must create a Google service account.
- All users must have a current Google Workspace email attached to their profile (only the admin can edit these emails in Buzz).
- You must enable it in Domain Settings.
Note: In order to complete step 4, Enable API client access for the service account, you must have Super Admin permissions in your Google Workspace account.
Create a service account
There are four steps to setting up your service account for Google Workspace:
1. Create a project
Any Google Cloud Platform resources that you allocate and use must belong to a project. You can think of a project as the organizing entity for what you're building. A project is made up of the settings, permissions, and other metadata that describe your applications. Learn more about projects.
If you already have a project that you want to use, you can skip to Step 2. Enable the Google Drive API.
To create a project:
- Go to the Google Developers Console (https://console.developers.google.com/project) and sign in as a super administrator.
- Click Create project. If you haven't used the Developers Console before, agree to the Google Cloud Platform Terms of Service. Then, click Create a project.
- Enter a project name.
- Edit the Project ID if you want.
- Select the desired Organization and Location from the appropriate dropdown menus.
- Click Create.
2. Enable the Google Drive API
In order for Buzz to interface with the Google Drive API, you need to enable it.
- Go to the API dashboard (https://console.developers.google.com/apis/dashboard) and select the project you created or selected in Step 1.
- Click Enable APIs and Services in the Dashboard.
- Search for Google Drive API and select it from the results.
- Click Enable.
3. Create a service account for the project
In order for Buzz to manage permissions effectively, it needs access to your Google service account.
- Open the Menu in the top-left corner of the console and click IAM & Admin > Service accounts.
- Click Create Service Account in the More actions menu.
- Enter a title in the Service Account Name field.
- Describe what the service does in the Service account description field (e.g., Integrates Buzz with G Suite).
- Click Create.
- You can set any optional Service account permissions you desire, then click Continue.
- Set up any optional user access.
- Click Done.
- Open the Actions menu for the account and click Create Key.
- Select JSON under Key type in the panel that appears on the right and click Create. You'll see a message that the service account JSON file has been downloaded to your computer. You will need it later, so make a note of the location and name of this file.
- Click Done.
- Open the Actions menu and click Edit.
- Click Show Domain-wide delegation to expand the section and check the Enable Domain-wide Delegation box and enter a name in the Product name for the consent screen field (use whatever is most useful; only the system admin managing this integration will see this name).
- Click Save.
- You can click the View Client ID link to review the service account you have just created. Copy the Client ID value. You will need this in Step 4.
4. Enable API client access for the service account
Once Google Drive API is enable, you need to give Buzz access to the service account.
Your organization may have multiple active domains within your Google Workspace account (for example, one for students, one for parents, and one for teachers). If so, each of these domains need the client access you set up in these steps, and you need to repeat them for each domain.
Note: You must have Super Admin permissions in your Google Workspace account to complete this step.
- In your Google Workspace domain’s Admin console (https://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.
- If you can't see the controls, make sure you're signed in as an administrator for the domain.
- In Security, click API controls.
- Click Manage domain wide delegation.
- Enter the service account's Client ID. You should have copied this in Step 3, or you can find it in the Service accounts page.
- In the OAuth Scopes field, enter “https://www.googleapis.com/auth/drive”
- Click Authorize.
Enable Google Workspace (formerly G Suite) integration on Buzz
Once you have a Google service account created, you can enable the Google Workspace integration:
- Open the side menu in Domain > Details.
- Select Domain settings in the more menu in the toolbar.
- Check Enable Google Workspace service account box on the Google Workspace service account card.
- Choose the Google Drive folder name (this is The top-most Drive folder where Buzz stores documents).
- Click Edit service-account key.
- Copy and paste the contents from the .json file that Google provided when you set up your service account into this field.
- Click Done.
When users open Google Drive from Buzz for the first time, they may be asked to verify the access, sign into their account, indicate which account, etc. Review the possible requests pictured here.
Users' browsers must allow Google to popup windows.
- If the Google Drive fails to create or copy documents, Buzz reports an error.
- If the Google Drive cannot correctly grant permissions, Buzz does not report an error and users will simply ask for permission from the document author using Google Drive screens.
- If Google fails to generate a PDF snapshot, Buzz attaches a TXT file to the activity in the PDF's place, alerting you of the issue.