Я сталкиваюсь с ошибками HTTP 401 при попытке вызвать развернутый скрипт приложений (в виде веб-приложения, доступного для "любого") из второго GAS с UrlFetch и носителем в заголовке авторизации. Сценарии работали отлично в течение нескольких месяцев, примерно две недели назад.
Вот два небольших скрипта для воспроизведения ошибки.
Скрипт A - Развернут как веб-приложение, доступное для "Любого".
function doGet(e) {
var params = e.parameter.params;
console.info("Parameters : " + JSON.stringify(e.parameter));
return ContentService.createTextOutput("Success");
}
Скрипт B - вызов скрипта A с помощью UrlFetch
function callURL() {
var param = {
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
followRedirects : true,
muteHttpExceptions:true,
};
var url = "https://script.google.com/macros/s/<script_A_deployed_url>/exec?param1=test";
var resp = UrlFetchApp.fetch(url,param);
if(resp.getContentText() != "Success"){
console.info(resp.getContentText());
throw resp.getContentText();
}
}