Google Script在外部网站

时间:2016-06-07 09:24:35

标签: javascript google-apps-script

我需要实现用于在网站上登录的Google脚本应用,然后如果在该网站上验证过程成功,则用户应该在Google脚本侧边栏中收到消息。

例如:用户输入他的电子邮件和密码,然后按“登录”按钮,如果凭据正确,他应该登录网站。

如果我需要提供更多有关此内容的详细信息,请告诉我...我是谷歌应用脚​​本的新手,我真的需要一些有关此登录过程的帮助。谢谢!

我尝试实现以下代码,但在执行login函数时收到以下错误消息:Request failed for https://example.com/login returned code 405.

HTML文件:

<div class="form-auth">
  <label class="inline">username</label>
  <input type="text" placeholder="Insert Email"/>
</div>
<div class="form-auth">
  <label class="inline">password</label>
  <input placeholder="Insert Password"/>
</div>
<button class="btn-default">Login</button>

Google Script文件:

function onOpen() {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Menu')
      .addItem('Show sidebar', 'showSidebar')
      .addToUi();
}

function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('login')
      .setSandboxMode(HtmlService.SandboxMode.IFRAME)
      .setTitle('SDR Tag Governance')
      .setWidth(300);
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showSidebar(html);
}

function login() {
  var payload =
   {
     "username" : "myEmail@domain.com",
     "password" : "myPassword",
   };
  var options =
   {
     "method" : "post",
     "payload" : payload,
     "followRedirects" : false
   };
  var login = UrlFetchApp.fetch("https://example.com/login" , options);
  var sessionDetails = login.getAllHeaders()['Set-Cookie'];
}

1 个答案:

答案 0 :(得分:2)

通过添加标题选项修复此问题:

  var headers = {
    'Connection':'keep-alive',
    'Content-Type':'application/json;charset=utf-8',
    'Accept':'application/json, text/plain, */*',
    'Cookie':'...',
  }