GAS - Autenticação com UrlFetchApp - Formulário para planilha

Estou testando a funcionalidade do UrlFetchApp e passando dados de um formulário e sua planilha. Eu sei que é possível fazer isso de outra maneira, no entanto, estou testando a funcionalidade do UrlFetchApp (primeira vez em que é usada) nos próprios scripts do Google e quero que ele funcione com esse método.

Aqui está o cenário que obtive, adicione um script vinculado a um aplicativo de formulário da seguinte maneira:

function makeRequest() 
{
  var webAppUrl = "https://script.google.com/macros/s/WebAppID/exec";

  var auth = ScriptApp.getOAuthToken();
  var header = { 'Authorization': 'Bearer ' +  auth };
  var options = { 'method':'post', 'headers':header };

  var resp = UrlFetchApp.fetch(webAppUrl, options);

  Logger.log(resp);
}

Adicione um script vinculado à planilha anexada:

function doPost()
{  
  var ss = SpreadsheetApp.openById('ssID');
  var name = ss.getName();
  return ContentService.createTextOutput(name);
}

E, em seguida, publique esse segundo script anexado à planilha como um aplicativo da Web, apenas para ter acesso.

Atualmente, o código acima não funciona. O seguinte erro aparece no lado do formulário do script:

A solicitação falhou parahttps://script.google.com/macros/s/WebAppID/exec retornou o código 401. Resposta do servidor truncada: Não autorizado

Não autorizadoErro 401(use a opção muteHttpExceptions para examinar a resposta completa) (linha 12, arquivo "Código")

Falha na linha de código UrlFetchApp.

No entanto, se eu remover a opção de cabeçalho e publicar o aplicativo Web para uso público, isso funcionará perfeitamente. Obviamente, isso não é desejado.

O que estou perdendo em relação à autenticação entre scripts que possuo?

Notas laterais:

Alguém sabe por que SpreadsheetApp.getActiveSheet () não funciona quando executado dessa maneira? Esse script está diretamente vinculado a uma planilha do Google, tão estranho.

questionAnswers(2)

yourAnswerToTheQuestion