Google Apps Script Web App 在外部网站上进行身份验证
Google Apps Script Web App authenticate on external website
我需要实现一个 Google Apps Script 应用程序,用于登录网站,然后如果该网站上的身份验证过程成功,用户应该在 google 脚本中收到一条消息侧边栏。
例如:用户输入自己的邮箱和密码,然后点击登录按钮,如果凭据正确,则应该可以登录网站。
如果我需要提供更多详细信息,请告诉我...我是 Google Apps 脚本的新手,在此登录过程中我确实需要一些帮助。谢谢!
我尝试执行以下代码,但在执行 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 脚本文件:
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'];
}
通过添加 headers 选项解决了这个问题:
var headers = {
'Connection':'keep-alive',
'Content-Type':'application/json;charset=utf-8',
'Accept':'application/json, text/plain, */*',
'Cookie':'...',
}
我需要实现一个 Google Apps Script 应用程序,用于登录网站,然后如果该网站上的身份验证过程成功,用户应该在 google 脚本中收到一条消息侧边栏。
例如:用户输入自己的邮箱和密码,然后点击登录按钮,如果凭据正确,则应该可以登录网站。
如果我需要提供更多详细信息,请告诉我...我是 Google Apps 脚本的新手,在此登录过程中我确实需要一些帮助。谢谢!
我尝试执行以下代码,但在执行 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 脚本文件:
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'];
}
通过添加 headers 选项解决了这个问题:
var headers = {
'Connection':'keep-alive',
'Content-Type':'application/json;charset=utf-8',
'Accept':'application/json, text/plain, */*',
'Cookie':'...',
}