How to Check if the Google User has a Google Workspace Account
This Google Apps Script will help your add-on determine whether the current logged-in user is on Google Workspace or if they are using the consumer (free) Google Account. Google Workspace accounts have higher email sending limits and have more storage space in Google Drive vis-a-vis free accounts.
const isGoogleWorkspaceUser = () => {
Session.getActiveUser(); // For scope
const api = 'https://www.googleapis.com/oauth2/v2/userinfo';
const response = UrlFetchApp.fetch(api, {
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
});
const { name, email, hd } = JSON.parse(response);
return hd
? `${name} is using Google Workspace with the domain ${hd}`
: `${name} is using the free Google account for ${email}`;
};
All authorized Google Workspace users users will have the hd
attribute set to their domain associated with Workspace while this is not available for consumer accounts. One more thing - you’ll only know if a user belongs to Google Workspace domain, it won’t reveal details about the version of Google Workspace that a user is subscribed to.
A user could be part of any Google Workspace edition or may still be using the legacy version of Google Apps, the response would be the same.
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory