We help IT Professionals succeed at work.

Google Apps

Google Apps is a suite of cloud computing productivity and collaboration software tools and software. It includes Google’s popular web applications including Gmail, Drive, Hangouts, Calendar, and Docs. While these products are available to consumers free of charge, Google Apps for Work adds business-specific features such as custom email addresses at your domain and storage for documents and email.


We use Google For Business for our work email.

We are trying to gain access to one of our old staff's email account, as he used his email address to register a piece of software that we use, and we now need to change it to our main service email, as we can't change our billing.

When we try reset the password, it sends a code to his phone, however he no longer uses the same phone number so he is unable to help us.

As Admin of the Google account, I thought I would be able to get around this, and access this inbox?

Any ideas would be much appreciated, thanks.
Dear Experts

We are having google G-suite Basic, would like to take backup of few users mail box (inbox, sent ) as a policy we have to keep emails of every user for one the period of one year please suggest the best practice on backup and archival for g-suite basic, if we have to procure any software please do suggest, thanks in advance.
Hi Experts,

I am trying to connect to Google Calendar API, but I am getting Not found error. What could it be, I already added the client ID as permission into the Calendar that I want to use.

PHP Fatal error:  Uncaught Google_Service_Exception: {
 "error": {
  "errors": [
    "domain": "global",
    "reason": "notFound",
    "message": "Not Found"
  "code": 404,
  "message": "Not Found"
 in C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\src\Google\Http\REST.php:118
Stack trace:
#0 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\src\Google\Http\REST.php(94): Google_Http_REST::decodeHttpResponse(Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...')
#1 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\src\Google\Task\Runner.php(176): Google_Http_REST::doExecute(Object(GuzzleHttp\Client), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...')
#2 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\src\Google\Http\REST.php(58): Google_Task_Runner->run()
#3 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\src\Google\Client.php(788): Google_Http_REST::execute(Object(GuzzleHttp\Client), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...', Array)
#4  in C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\src\Google\Http\REST.php on line 118

Open in new window

Hi Experts

I built an application a while back that successfully used Google Maps API. Now I needed to connect to another Calendar from another Google account, I already downloaded the servive_key.json, and set permission to to generated client_id, but I get the following error:
Fatal error: Uncaught exception 'GuzzleHttp\Ring\Exception\RingException' with message 'cURL error 60: SSL certificate problem: unable to get local issuer certificate' in C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\vendor\guzzlehttp\ringphp\src\Client\CurlFactory.php:127 Stack trace: #0 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\vendor\guzzlehttp\ringphp\src\Client\CurlFactory.php(91): GuzzleHttp\Ring\Client\CurlFactory::createErrorResponse(Array, Array, Array) #1 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\vendor\guzzlehttp\ringphp\src\Client\CurlHandler.php(96): GuzzleHttp\Ring\Client\CurlFactory::createResponse(Array, Array, Array, Array, Resource id #123) #2 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\vendor\guzzlehttp\ringphp\src\Client\CurlHandler.php(68): GuzzleHttp\Ring\Client\CurlHandler->_invokeAsArray(Array) #3 C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\vendor\guzzlehttp\ringphp\src\Client\Middleware.php(54): GuzzleHttp\Ring\Client\CurlHandler->__invoke(Array) #4 C in C:\inetpub\wwwroot\CRM_COR\utilities\google_calendar\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php on line 51

Open in new window

I used the previous API Connection without a SSL successfully.

Thank you.
Hi guys,

I have a client that needs to LOCK - Password Protect a Folder on Google Drive, local & online versions...

They have a couple computers & staff has access to their google drive folders online & local versions.  

They want to be able to have an ADMIN folder where they would put files that only can be accessed by the higher staff.  

Can this be accomplished??  I am not sure I am looking at this the right way, but the result of locking 1 folder is what I need, that would need a password to enter that folder, can this be done?

I know they can password protect let say a Word or Excel file as they go, but they want to be able to just drop a file in the protected folder & then it be Locked... can this be done??

Oh yea & it needs to be easy for client to be able to implement if they have additional folders later on... lol... Of course I can setup initial folder, but down the road they may want to add folders...

Please let me know... Thanks... :-)
What is required so that a Youtube video will play on a website page? I have a website and on one page the Youtube video plays fine but on another page the same video does not play.

On the page that works when I hover over the play button it turns from black to red.

On the page the doesn't work the play button doesn't change its appearance when I hover over it.

When I press play on the page that doesn't work nothing happens.

My website is built using Coldfusion
Hi Experts,

A while back my client gave me permission to her Google Calendar so I can connect it to a application. I did so by going through the steps and downloading a .json file. I will admit that this was my first and only connection to the Google API.

Recently she has removed the permission, and the API call no longer work. She would like me to go in to her office and connect it from there. So I don't spent a lot of time, could anyone please tell me the steps for setting up the Google API under her account, then downloading the .json file?

One more question regarding my spreadsheet.

I need a way to compare a list of email addresses against a list of names.
Using: =IF(ISNA(MATCH(R2,sort(FILTER({$K$2:$K$93}, LEN({$K$2:$K$93}))),0)), "Not Found", "Found")

And comparing a column K, which contains: Alayna Sergio
... against column R, which contains: Alayna Sergio <alayna.sergio@group.com>

Results in "not found". That is because it is looking for a precise match. Is there a way to search for just the name?

Here is the sample spreadsheet:

See the Grid to List tab.

Thank you. :)
Hello all,

I am looking for a little more help to solve a small flaw in an idea I had for a round-robin auto name selector.

Based on a specific condition, where "ASC" exists in column C, an assigned reviewer will automatically populate column J, from a pool of names in column L.

This works very well, except for one problem. The names will dynamically change, if new entries become available in column C. I am trying to find a way to lock down the name in column J, once the condition is met.

I was thinking that the solution could be to only add a name (from L reviewers list), if the cell in column K is empty. Once the cells in column K are populated, the name will not change. The possible caveat to this is that I also want the names to be evenly distributed.

Any ideas on how this can be accomplished? Please see sample sheet.

Thanks to the tremendous help from EE, I have some really nice formulas for automation in the following spreadsheet. Feel free to take anything from this sheet. :)

Thank you.
Greetings all,

I have another spreadsheet challenge.

I have two columns: Team Number (numbers 1 - 20), Team Name. I need to concatenate the two columns to create a file name, according to a specific file naming convention.
Using this formula: =If($A2<10,concat(concat(concat("EventDay06-0",A2),"-"),T($B2)),concat(concat(concat("EventDay06-",A2),"-"),T($B2)))

The problem that I need to solve is for names with illegal characters. The easy way is to disallow special character, but I prefer to find a technical solution, if possible,

For example:
Team names, "More > One" converts to "EventDay06-08-More > One" but I need to automatically change this name to "EventDay06-08-More-One", etc.

Basically, I need to replace illegal characters with a substitute.

See sample sheet:

How can I make automatic character substitutions?

Thank you

Thank you
I'm looking to control shades via Google Home smartphone software?

I found this on Amazon for under $100 and it says it's compatible with Google Home.

However, I really don't have any idea if this is the best place to start.


What's really necessary for this?

Does Google also offer a way to control TV's also through a phone app?
I have a Google Sheet where I have five columns and 20 rows of names, and I am looking for a way to collect all the names, sort them, and list them in a single column, then compare the list against another list to find the missing names.

I searched for an example of how to accomplish this and found nothing similar. :(
To be specific, I need to find a way to do this using a formula and without add-ons macros. Is it possible?

To make this easier, I am including a working sheet:
Here is the example sheet.
When we try to see street view of Google maps we are getting "server error, try later." That's been the result 3 days in a row. We have Windows 10 and tried with FF and Chrome. Thanks.
Full disclosure: not a developer, never worked with any of this before. This seemed like a very straightforward process that isn't working for some reason.

Trying to use Chrome App Builder : https://chrome.google.com/webstore/detail/chrome-app-builder/ighkikkfkalojiibipjigpccggljgdff?hl=en
To create an app that points to a website that will run in kiosk mode. This should be a relatively simple undertaking. You name the app, plug in the url in the homepage section, (our is https://ffc-ic.ffc8.org/campus/OLRLoginKiosk/ffc) configure any settings for navigation, then select to save as kiosk.

While testing the app by opening the more tools-->extensions-->turn on developer mode-->load unpacked, however, I get errors. Having no idea where to even start on this (isn't it just supposed to be redirecting to a website?) I'm asking for assistance to determine where the errors could possibly be coming from.

Warning: Unknown Model in arequire
function arequire(modelName, opt_X) {
  var X = opt_X || GLOBAL.X;
  var model = FOAM.lookup(modelName, X);
  if ( ! model ) {
    if ( ! X.ModelDAO ) {
      console.warn('Unknown Model in arequire: ', modelName);
      return aconstant(undefined);

Open in new window

Warning: Tried to load
arequire(obj.model_)(function(model) {
            if ( ! model ) {
              console.warn("Tried to load ", obj.model_, " on demand, but no luck.");

Open in new window

Dear Experts
We are using g-suite/google aps for the email services. We have following requirement that is to restrict the user accounts such that they should be able to send the emails to all the users within the same domain and should be able to send to external domains users of 4 domains and restrict for all other domains.
Please suggest is possible if yes then what should be done.
If above is not possible with google aps/g-suite then we have to setup email server on-premises and if we go for the on-premises zimbra email server can we achieve this please suggest, thanks in advance.
I want to assign a unique, ascending number to each person as they check-in.
I'm envisioning a simple check-box in Column A, that when clicked, will auto-increment the highest number in column D

(A)                 (B)                  (C)                  (D)
checkbox    First Name    Last Name   Number
[ ]                  Tom                Smith            
[x]                  Jane               Doe                 1

Doesn't have to be a check-box, but any way to autoincrement that numeric column...
Found a script that I manipulated hoping to get it working, but it simply places the row number in the corresponding column - I want it to be the next value incremented from what's already in column D
In the script, the columns A & D are flipped from my example above.

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var worksheet   = spreadsheet.getSheetByName("Assignments");
  var rows        = worksheet.getDataRange().getNumRows();
  var vals        = worksheet.getSheetValues(1, 1, rows+1, 4);
  for (var row = HEADER_ROW_COUNT; row < vals.length; row++) {
    try {
      var chk = vals[row][CHECKED_IN_COLUMN];
      if ((chk)) {
        // Here the columns & rows are 1-indexed
        worksheet.getRange(row+1, AUTOINC_COLUMN+1).setValue(row);
    } catch(ex) {
      // Keep …
I have a spreadsheet (https://docs.google.com/spreadsheets/d/1QsuGjcRhZRL6Y4M8l8Y8qhrb_nZn47JrGmZTQumGYaI/edit?usp=sharing) that allows me to configure tournament results and determine the winner based upon match wins, or point percentage.

My issue currently is that if I redo the schedule, I have the match win formula set to the static cell where that person plays.
I want it to be some sort of lookup to find the person's name in the schedule at the bottom.

John & Nick are paired up for Match 1 (shown in the bottom schedule layout).
I need a lookup that will determine all of John's individual wins - thus the formula would need to find which matches he is participating in.  If the result is a Win, it increments his win column.  If it's a loss, it increments the loss column.
Currently only cell G11 shows a valid formula, but it's pointing specifically to the cells where I know John is playing.
I need a formula that will first determine in the schedule at the top, what matches show "1" (John) and then determine the outcome of the match in the schedule at the bottom.

Hopefully this makes sense - but let me know if I need to explain further.
I'm looking for a quick formula to simply display the value that is NOT in a list.
My row will contain
1 2 v 3 4

My source is basically the numeric range 1-5 (I do have that in a column if it needs to be referenced).

I would simply want to have the formula spit out '5' against that row.
What function can  I use?
Please recommend a Perl script that will return the latitude and and longitude for an address.
Please explain the pros and cons of signing up for a google api account to use their geo code api.
Are there any alternatives to google for obtaining a latitude and longitude for an address ?

Jim West
Cloning my Chrome Bookmarks?

I have a Windows 10 PC and a Windows 10 Virtual Machine and would like to keep the bookmarks in sync between the two.

At the moment, when I need something, I switch back to my desktop for the URL and copy it to Chrome on my VM.

Is there a way to handle this where they stay in sync? If not, must I export a file then import that file?

I would ideally like to be able to Sort and Edit my Google contacts, online, from the same page.

Is there anything that makes this possible?
In a Google spreadsheet, I have an area where people are doing manual data entry.
  • People are entering game results from a paper scoresheet
  • Each row in the data entry area shows the results for a single "question", entered into Columns B through K
  • For each cell, the valid values are a blank cell, 0, -5, 10, 15, and X (upper case only)
  • For each row, I need to get a count of how many cells have an invalid entry

I have a formula now which is returning the correct answer, but it's a brute force approach. Is there a more elegant way to do this?


Open in new window

Does anyone know if there are any Gmail extensions that auto delete specific emails from specific senders after they have been read and sat for say 3-5 days in my inbox.....automatically. Like a rule sort of but runs to check the inbox for say a daily alert.
Here is an example I get a daily balance from my Wells Fargo accounts that say what my balance is or if there has been any activity.
is there a feature or extension that will look at emails from Wells Fargo that are either opened and sat in inbox for 3 or more days and delete them automatically.
Or If I watch the TV show Frontline on PBS and it tells me that a show is airing that night.
These kinds of emails are great. I just forget to delete many like them and they build up.
Also I noticed that some businesses or marketing emails from companies constantly send messages I do not need. EVEN AFTER SETTING THEM TO UNSUBSCRIBE OR PREFERENCES IN THE PROFILES THAT THEY BUILD...!
Is there a way to manage all that excess junk crap etc that just builds up.

I want to get to a place where all my emails I handled every day had a place for completed archived deleted or work still in progress. The big thing is to clean up else my Tiny Mind will get overloaded with junk and I will develop a brain fog I cannot navigate. Any good tools or extensions for gmail that do that. Primarily the auto delete part?
Google Apps question..

Hello there,

An end user contacted me regarding not being able to access  a shared calendar we use for conf room reservation. She has access to other but not a specific one.

I'm new to G suite, i have admin rights but i can't find where those calendars are created so i can check for permissions. Can any one point me in the right direction..

I am running a Mac Pro 14.4.4 with Chrome Version 73.0.3683.86 (Official Build) (64-bit)

I manage Google Apps for our Domain and I seem to be signed in TWICE, one with a personal account and one with a Work account.

What I mean by this is that the icon next to the Hamburger menu is "Paused" and has my personal Gmail Account signed in but when I login to my Google Apps (e.g. Mail.DOMAIN.com) it shows my work account.

Does anyone know how to resolve this? Ultimately I'd like to be signed in ONLY to my Work email for this computer and enable synching of bookmarks.


Google Apps

Google Apps is a suite of cloud computing productivity and collaboration software tools and software. It includes Google’s popular web applications including Gmail, Drive, Hangouts, Calendar, and Docs. While these products are available to consumers free of charge, Google Apps for Work adds business-specific features such as custom email addresses at your domain and storage for documents and email.