Multiple instances of Google API Javascript Client?

I'm working in a project that needs to interact with several Google services at the same time.

So it consumes Google People API, Sheets API, Drive API and (in some cases) Gmail API...

To do so, I'm using Google API Javascript Library. Following Google API Docs and some own research, I've come to the solution to add several Discovery Docs and scopes to my client.init, as follows:

    gapiClientParams = {

/*... other client params ...*/

        "discoveryDocs": ["https://sheets.googleapis.com/$discovery/rest?version=v4",
            "https://people.googleapis.com/$discovery/rest?version=v1",
            "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest"],
        "scope": "https://www.googleapis.com/auth/spreadsheets"
            + " https://www.googleapis.com/auth/userinfo.profile"
            + " https://www.googleapis.com/auth/contacts"
            + " https://www.googleapis.com/auth/drive"
    }

and then

  gapi.client.init(gapiClientParams)
    .then( function() { ... })

Doing so it loads, constructs and assembles the different parts of the client library acording to what the discovery docs tell him it's needed.


Here is the thing... It is actually working OK for now, but:

  1. I don't know if it is the right approach, (it seems to me that it builds a huge mounstrous object)

  2. Some services (like Gmail) are rarely required by the app, and if they are, it would be for a very single action (like sending an email to report an error).

So, my question,

Why to load them all at one time?

and

Isn't it possible to instantiate multiple clients to each service when (and if) needed?

Searching in Stackoverflow I've come to this question, but it seems to apply to Android Apps Development.

If you have any ideas, considerations or corrections I'll appreciate them, thank you!