Хорошо, ребята, проблема, связанная с невозможностью отображения, была решена, и вот код.
function fetchRushIv(officeName){
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var currSheet = spreadSheet.getSheetByName('OG_Database');
currSheet.activate();
var data = currSheet.getRange(5, 1, currSheet.getLastRow(),
currSheet.getLastColumn()).getValues();
var html="<style>th,td{border:1px solid #000;padding:5px;}</style>
<table>";;
for(var i=0;i<data.length;i++){
if(data[i][0]=="Office Name" || data[i][0]==officeName){
html+='<tr>';
for(var j=0;j<data[1].length;j++){
html += "<td>"+data[i][j]+"</td>";
}
html+= "</tr>";
}
}
html += "</table>"
return html ;
}
HTML-часть с исправленной ошибкой выглядит следующим образом:
<script>
function openCity(evt, cityName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "block";
google.script.run.withFailureHandler(failed).
withSuccessHandler(displayData).fetchRushIv(cityName);
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active","");
}
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " active";
}
function displayData(table){
document.getElementById('customers').innerHTML=table;
}
function failed(e){
alert("error:"+e);
}
</script>
Базовую аутентификацию HTTP можно выполнять в чистом классическом ASP VBScript.
Вам понадобится что-то для декодирования base 64. Вот чистая реализация VBScript . Вам также необходимо убедиться, что в вашей конфигурации IIS вы отключили «Обычная проверка подлинности» и «Встроенная проверка подлинности Windows», поскольку они будут мешать тому, что вы получите обратно в заголовке HTTP_AUTHORIZATION.
Вот пример реализации, которая просто повторяет имя пользователя и пароль.
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="decbase64.asp" -->
<%
Sub Unauth()
Call Response.AddHeader("WWW-Authenticate", "Basic realm=""SomethingGoesHere""")
Response.Status = "401 Unauthorized"
Call Response.End()
End Sub
Dim strAuth
strAuth = Request.ServerVariables("HTTP_AUTHORIZATION")
If IsNull(strAuth) Or IsEmpty(strAuth) Or strAuth = "" Then
Call Unauth
Else
%>
<html>
<body>
<%
Dim aParts, aCredentials, strType, strBase64, strPlain, strUser, strPassword
aParts = Split(strAuth, " ")
If aParts(0) <> "Basic" Then
Call Unauth
End If
strPlain = Base64Decode(aParts(1))
aCredentials = Split(strPlain, ":")
%>
<%= Server.HTMLEncode(aCredentials(0) & " - " & aCredentials(1)) %>
</body>
</html>
<%
End If
%>
Привязка имени пользователя и пароля к чему-то значимому оставлена в качестве упражнения для читателя.
Привет Вы пытаетесь получить список пользователей от базы данных или использовать основанные на сети полномочия на сервере HTTP?
Если Вы используете использование базы данных ODBC и DSN
Dim DatabaseObject1
Set DatabaseObject1 = Server.CreateObject("ADODB.Connection")
DatabaseObject1.Open("DSN=DSNname;")
Если Вы будете желать диалоговое окно пароля (с сервера), то необходимо будет изменить настройки IIS для хорошего руководства по этому..
По определению Аутентификация HTTP - что-то, что требует WebServer, я сомневаюсь, что Вы найдете решение, которое не приводит ни к каким применяемым Настройкам IIS.
Веб-браузер соединится с Вашим веб-сайтом, и если Ваш сервер не ответит кодом ответа HTTP HTTP/1.1 401 Несанкционированный, обзор не пройдет через учетные данные.
Вы могли попытаться вызвать код ответа 401 и установить заголовок
WWW-Authenticate: Basic realm="SomethingGoesHere"
Затем браузер предложит пользователю имя пользователя и пароль, но будет отправлен по открытому тексту в браузер (base64 закодированный), как это:
Authorization: Basic YnJpYW5iOmJvYmJ5Ym95
Который переводится от Base64 до:
brianb:bobbyboy
Я не знаю, будет ли у Вас доступ к заголовку Авторизации из Вашей ASP-страницы, или если веб-сервер собирается волноваться, потому что кто-то пытается передать учетные данные ему, когда не ожидание его, но могло стоить попытки...