J'ai le code suivant dans le script Google Apps qui récupère les données CSV à partir d'une page Web via HTTP à l'aide de l'authentification de base et la place dans une feuille de calcul:
CSVImport.gs
function parseCSVtoSheet(sheetName, url)
{
// Credentials
var username = "myusername";
var password = "mypassword";
var header = "Basic " + Utilities.base64Encode(username + ":" + password);
// Setting the authorization header for basic HTTP authentication
var options = {
"headers": {
"Authorization": header
}
};
// Getting the ID of the sheet with the name passed as parameter
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName(sheetName);
var sheetId = sheet.getSheetId();
// Getting the CSV data and placing it into the spreadsheet
var csvContent = UrlFetchApp.fetch(url, options).getContentText();
var resource = {requests: [{pasteData: {data: csvContent, coordinate: {sheetId: sheetId}, delimiter: ","}}]};
Sheets.Spreadsheets.batchUpdate(resource, spreadsheet.getId());
}
Cela a fonctionné jusqu'à récemment où je reçois au hasard l'erreur suivante sur la ligne UrlFetchApp.fetch
:
Exception: Unexpected error: http://www.myurl.com/data/myfile.csv (line 21, file "CSVImport")
J'ai essayé:
Je ne sais pas quoi d'autre essai et pourquoi cela a soudainement cassé au hasard. Aucun conseil?
Selon le n ° 346 du numéro de numéro officiel https://issuetracker.google.com/issues/175141974
hey gars j'ai trouvé une solution possible qui fonctionne pour moi essayer de saisir vide {} comme ça
Urlfetchapp.fetch (Apilink, {});
ça a fonctionné pour moi
J'ai essayé cela, et ça marche aussi pour moi. Fonctionne même lorsque vous utilisez "la nouvelle période d'exécution du script d'applications Powered by Chrome V8".