The tutorial on hosting websites with Google Drive makes use of the HTMLService of Google Apps Script. The user uploads a zip file, the file is extracted using the Utilities.unzip method (make the sure the MIME type is set to application/zip) and saved in a folder.
The setSharing method is then used for making the Google Drive folder public and the ID of the folder is passed to the user. Here’s the full code:
/* Written by Amit Agarwal on August 9, 2013 */
function doGet() {
  var output = HtmlService.createHtmlOutputFromFile('labnol');
  output.setTitle('Publish Website on Google Drive');
  return output;
}
function uploadWebsite(form) {
  try {
    var zip,
      files,
      name,
      folder,
      file,
      host,
      found = false;
    zip = form.zipFile.setContentType('application/zip');
    files = Utilities.unzip(zip);
    // Unique folder name based on the current date and time
    name = Utilities.formatDate(new Date(), 'GMT', 'ddMMyyyyHHmmss');
    folder = DriveApp.createFolder('Website #' + name);
    for (var i = 0; i < files.length; i++) {
      file = folder.createFile(files[i]);
      if (file.getName() === 'index.html') {
        found = true;
      }
    }
    if (found) {
      // Set the sharing permissions of the Drive folder as Public
      folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.VIEW);
      var site = 'https://googledrive.com/host/' + folder.getId() + '/';
      return 'Your <a href="' + site + '" target="_blank">website</a> is now live on Google Drive. The URL is: ' + site;
    } else {
      // if the index.html file is not available, don't publish the website
      DriveApp.removeFolder(folder);
    }
    return "Sorry, we couldn't find an index.html in your zip file. Please try again.";
  } catch (e) {
    return e.toString();
  }
} 
  
  
  
  
 