Forbidden Error 403

62 views
Skip to first unread message

Vishnu Tiwari

unread,
Aug 26, 2023, 3:59:34 AM8/26/23
to Google Apps Script Community
i created A code to view Different page 
First page is  showing  but When I Click To Show Different Page It show Error Forbidden Error 403
function doGet(e) {
  Logger.log(e);
  if(!e.parameter.page){
    return HtmlService.createTemplateFromFile('login').evaluate()
     .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
  }else if (e.parameter['sheetname']=='index'){
return HtmlService.createTemplateFromFile(sheetname).evaluate()
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
  }
   
     
  }


 

function include(fileName){
  return HtmlService.createHtmlOutputFromFile(fileName).getContent()
}


function getUrl(){
 let url = ScriptApp.getService().getUrl();
 return url
}

html Code is this

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <?!=include('style'); ?>
    <!-- <link rel="stylesheet" href="style.css"> -->
    <title>Document</title>
</head>
<body>
    <div>
        <h1>Login - Page</h1>
        <input type="text" placeholder="Enter userid" name="userid" id="uname">
        <input type="password" placeholder="Enter password" name="pass" id="password">
        <input type="button" value="Submit" onclick="getLoginInfo();">
        <? let url = getUrl(); ?> <input type="hidden" value="<?= url ?>" id="urls">

    </div>
</body>
<script>
function getLoginInfo(){
    let uname =document.getElementById('uname').value
    let pass =document.getElementById('password').value
    let scriptUrl = document.getElementById("urls").value
    let anachor= document.createElement('a')
    anachor.href= scriptUrl+"?sheetname=index"
    anachor.id="linkUrl"
    document.body.appendChild(anachor);
    document.getElementById("linkUrl").click();

    // google.script.run.loginRecord(uname,pass);
}
</script>
</html>

cwl...@gmail.com

unread,
Aug 29, 2023, 7:28:53 AM8/29/23
to Google Apps Script Community
I don't know if this will fix it, because your code seems to look ok. Try putting your doGet() function below the other functions so it reads the getUrl() function first.
I know it shouldn't matter, but I created a simple webapp example, and that seems to be the main difference between our projects:  top-down order of functions.

To test this theory, add this to your <div> :   <?= console.log(getUrl()) ?> to see what is being returned.

cwl...@gmail.com

unread,
Aug 29, 2023, 7:33:31 AM8/29/23
to Google Apps Script Community
p.s., here is my simple webapp code:

Code.gs:

function getScriptUrl() {
  var url = ScriptApp.getService().getUrl();
  return url;
}

function doGet(e) {
   if (!e.parameter.page) {
     // When no specific page requested, return "home page"
     var main = HtmlService.createTemplateFromFile('my1')
     return main.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
   }
   // else, use page parameter to pick an html file from the script
   return HtmlService.createTemplateFromFile(e.parameter.page).evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}

my1.html:
<!DOCTYPE html>
<html>

<head>
  <base target="_top">
</head>

<body>
  <h1>Simple Multipage Webapp Example - Page1</h1>
  <? var url = getScriptUrl();?>
  <?= console.log(getScriptUrl()) ?>
  <a href='<?=url?>?page=my2'>Link to page2</a>
</body>

</html>
my2.html:
<!DOCTYPE html>
<html>
   <head>
     <base target="_top">
   </head>
   <body>
     <h1>Page 2</h1>
     <? var url = getScriptUrl() ?>
     <a href='<?=url?>?page=my1'>Link to page1</a>
   </body>
</html>
Reply all
Reply to author
Forward
0 new messages