cedroid

Google App Script redirection page parameters

Sep 25th, 2023 (edited)
725
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.83 KB | Source Code | 0 0
  1. /*
  2. This block detects if there scriptURL includes an especific parameter, if it does it will validate that the code exists in a Google Sheet, if exists, the user will be redirected to a especific page, of the parameter is not valid then it will be redirected to the error page.
  3. */
  4.  
  5. var spreadsheetID = 'your-spreadsheet-id';
  6. var spreadsheet  = SpreadsheetApp.openById(spreadsheetID);
  7.  
  8. function doGet(e) {  
  9.   Logger.log("Received parameters: " + JSON.stringify(e.parameter));
  10.  
  11.   var userId = e.parameter.userId || "";
  12.  
  13. if (userId) {
  14.     Logger.log("Found userId parameter: " + userId + " searching if exists in the spreadsheet");
  15.    
  16.     var sheet = spreadsheet.getSheetByName("your-sheet-name");
  17.     var data = sheet.getDataRange().getDisplayValues();
  18.     var found = false;
  19.    
  20.  
  21.     for (var i = 0; i < data.length; i++) {
  22.  
  23.        //data[i][0] is the column where the userId is saved
  24.       if (data[i][0] === String(userId)) {
  25.        
  26.         //If the userId is found, get the user name
  27.         var userName = data[i][1];
  28.                
  29.         //If the userId was found in the spreadsheet
  30.  
  31.     if (found) {
  32.        Logger.log("The user ID " + userId + "was found, redirecting to the user page");
  33.       var template = HtmlService.createTemplateFromFile('userInterface');
  34.       template.userName = userName;
  35.       template.userId = userId;
  36.      
  37.       return template.evaluate()
  38.         .addMetaTag('viewport', 'width=device-width, initial-scale=1')
  39.         .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
  40.  
  41.     }  else {
  42.     Logger.log("The user ID " + userId + "was not found, redirecting to error page");
  43.    
  44.     return HtmlService.createTemplateFromFile('errorPage').evaluate()
  45.       .addMetaTag('viewport', 'width=device-width, initial-scale=1')
  46.       .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
  47.   }
  48. }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment