docs: function getScripts(auth, nameFilter, nextPageToken, allFiles) {
      return new Promise((resolve, reject) => {
          let query = '';
          if (nameFilter) {
              query = `mimeType='${constants.MIME_GAS}' and name contains '${nameFilter}'`;
          } else {
              query = `mimeType='${constants.MIME_GAS}'`;
          }
  
          const drive = google.drive('v3');
          drive.files.list({
              auth,
              pageSize: 1000,
              fields: 'nextPageToken, files(id, name, description, createdTime, modifiedTime)',
              orderBy: 'name',
              includeTeamDriveItems: true,
              supportsTeamDrives: true,
              q: query,
              spaces: 'drive',
              pageToken: nextPageToken,
          }, (err, response) => {
              if (err) {
                  triageGoogleError(err, 'listScriptFiles').then((triaged) => {
                      reject(triaged);
                  }).catch((notTriaged) => {
                      reject(notTriaged);
                  });
                  return;
              }
  
              const files = response.data.files;
              allFiles = allFiles.concat(files);
  
              // Need to get another page of results?
              if (response.nextPageToken) {
                  getScripts(auth, nameFilter, response.nextPageToken, allFiles).then((allFiles) => {
                      resolve(allFiles);
                  }).catch((err) => {
                      reject(err);
                  });
                  return;
              } else {
                  resolve(allFiles);
                  return;
              }
          });
      });
  }