Cómo obtener la URL del archivo desde el nombre del archivo en las Hojas de cálculo de Google con la Autorización correcta a través de la función personalizada / script

Me gustaría crear una función personalizada que extraiga una URL de Drive de un nombre de archivo en Hojas de cálculo de Google.

Entonces, usando el siguiente código:

Si tengo un nombre de archivo válido en la celdaA1

La función=getFile(A1) devolvería la URL

Cuando ejecuto mi script desde el editor de script, el valor de retorno funciona.Cuando ejecuto la funcióngetFile() desde mi hoja, aparece el error a continuación.

Mi código

function getFile(cell) {

  var filename = encodeURI(cell);

  var url = "https://www.googleapis.com/drive/v3/files?fields=files(id,name)&q=name+contains+'" + filename + "' and trashed=false";
  var params = {
    method: "GET",
    headers: {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
    muteHttpExceptions: true
  };
  var res = UrlFetchApp.fetch(url, params).getContentText();
  var json = JSON.parse(res);
  return res; // outputs response below
  if(json){
    var objFiles = json.files[0];
    var fileID = objFiles.id
    var resURL = "https://docs.google.com/spreadsheets/d/" + fileID;
    Logger.log(resURL);
    //return resURL; // only works when run within script editor
  }

}

Error

"{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "authError",
    "message": "Invalid Credentials",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Invalid Credentials"
 }
}
"

Supongo que algo está mal con mi token de autenticación. ¿Alguien puede dirigirme a resolver esto? ¡Gracias por adelantado

Respuestas a la pregunta(3)

Su respuesta a la pregunta