docs: function getNewToken(oauth2Client, isCustomClient, options) {
      return new Promise((resolve, reject) => {
          const server = http.createServer((req, res) => {
              const parsedUrl = url.parse(req.url, true);
              const queryAsObject = parsedUrl.query;
              if (queryAsObject.code) {
                  getToken(queryAsObject.code, null, oauth2Client, isCustomClient).then((newOauth2Client) => {
                      resolve(newOauth2Client);
                      return;
                  }, (err) => {
                      reject(err);
                      return;
                  });
              } else {
                  reject();
                  return;
              }
  
              res.writeHead(302, {
                  'Location': 'https://gas-include.firebaseapp.com/info/auth_successful.html',
              });
              res.end();
  
              req.connection.end(); // close the socket
              req.connection.destroy(); // close it really
              server.close(); // close the server
          }).listen(constants.REDIRECT_PORT);
  
          const authUrl = oauth2Client.generateAuthUrl({
              access_type: 'offline',
              prompt: 'consent',
              scope: constants.SCOPES,
          });
  
          if (options.showUrl) {
              console.log('Please go to the following url in your browser:');
              console.log('----------------------------------------------');
              console.log(authUrl);
              console.log('----------------------------------------------');
          } else {
              openWebpage(authUrl);
          }
  
          console.log(`A webbrowser should have opened, to allow 'gas' to:`);
          console.log(`    'View and manage the files in your Google Drive'`);
          console.log(`    'Modify your Google Apps Script scripts' behavior'`);
          console.log(`    'Create and update Google Apps Script projects'`);
          console.log(`    'Create and update Google Apps Script deployments'`);
          console.log(``);
          console.log(`These permissions are necessary for pulling and pushing code from/to your remote scripts.`);
      });
  }