This Google Apps Script will help your add-on determine whether the current logged-in user is on GSuite (Google Apps) 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.
The code snippet is courtesy @FaustinoRodriguez.
function isGSuiteUser() {
var url = 'https://www.googleapis.com/oauth2/v2/userinfo';
var oAuthToken = ScriptApp.getOAuthToken();
var params = {
method: 'GET',
headers: {
Authorization: 'Bearer ' + oAuthToken,
},
muteHttpExceptions: true,
};
var response = UrlFetchApp.fetch(url, params);
var userInfo = JSON.parse(response);
if (userInfo.hasOwnProperty('hd')) {
return userInfo.email + ' is using GSuite';
}
return userInfo.name + ' is not using G Suite';
}
G Suite (Google Apps) users will have the hd attribute set to true while is not available for consumer account. One more thing - you’ll only know if a user belongs to G Suite domain, it won’t saying anything about the version of G Suite that a user has subscribed to.
A user could be part of basic GSuite (or the legacy version of Google Apps) or they could be on G Suite enterprise, the response would be the same.