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
getFile()
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