我为以下功能设置了每日触发器,以使用基本身份验证登录到我公司提供的网址,并将JSON响应下载到Google Spreadsheet中。稍后,我将解析此响应到电子表格表中。
响应代码显示为200 OK,但是响应文本显示ERROR,并且在返回的html响应中提到了“不支持的浏览器” 。
function test1(){
var url = "https://some.website.com/path1/path2/path3/";
var user = 'test123@test.com';
var pwd = 'mypass123';
var res = UrlFetchApp.fetch(url, {
'headers': {
'SMAGENTNAME' : '-SM-uL9Ydk9ZgPvYi+geshsOjQi7kbevUvOTmZvMksmphUle4s7h0Mx4uhOXXq/8JSBQ06Y',
'Authorization': 'Basic ' + Utilities.base64Encode(user + ':' + pwd, Utilities.Charset.UTF_8)
}
});
Logger.log(res.getResponseCode());
Logger.log(res.getContentText());
}
我收到以下html响应:
...</head>
<body ng-init="errorMessage=''; errorTitle='ERROR'; appName='ABC'; browserLocale='null'; requireCorpCred=false;downTimeNotificationSvc=''; targetUrl='https://abc.something.xxx.com/portal/site/something'; userNameType='text'; passwordType='text'; ">
<div ng-controller="LoginController as vm" class="login-background container-fluid" data-ng-cloak>
<xxx-cookie-policy></xxx-cookie-policy>
<div class="row auth-body" ng-style="{'background-image':'url({{vm.backgroundImg}})'}">
<xxx-unsupported-browser></xxx-unsupported-browser>
<div class="auth-section col-xl-3 col-md-3 col-sm-11 col-xs-12">
<a class="help" data-ng-click="vm.gotoSupportPage()">
<i class="xxx-icon xxx-icon-help"></i>
</a>.......
我在网上发现某些服务器仅允许使用公认的浏览器。我们公司的站点使用SiteMinder身份验证层。我猜Google Appsscript无法识别为浏览器,并且也不允许自定义或对其 User-Agent 进行欺骗。
是否有解决方法来下载响应?