How to Check if the Google User has a G Suite Account

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. G Suite users 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.