I have a Google script that get data from Google Sheet and deploy it to web app that generate the API link when I use the API to get the data it works correctly and the response return with the data. The problem is when the data in the sheet get changed the API response does not reflect that change and the response data returned from it was the old one.
This my script code and I have checked that the output var get the latest data from the Google Sheet:
function doGet() {
var standingsSheet = SpreadsheetApp.openById("1kpNP-MufnJkT7Fydh71B6NNA5TC4prnTNi9U23a9UuY");
var standingsValues = standingsSheet.getActiveSheet().getDataRange().getValues();
var league1 = getLeaguesStandings(2, standingsValues);
var league2 = getLeaguesStandings(31, standingsValues);
var league3 = getLeaguesStandings(60, standingsValues);
var league4 = getLeaguesStandings(87, standingsValues);
var league5 = getLeaguesStandings(116, standingsValues);
var output = [];
output.push(league1);
output.push(league2);
output.push(league3);
output.push(league4);
output.push(league5);
return ContentService.createTextOutput(JSON.stringify({ data: output })).setMimeType(ContentService.MimeType.JSON);
}
function getLeaguesStandings(rowNumber, values) {
var league = {};
league['get'] = values[rowNumber][0];
var parametersObj = {};
parametersObj['season'] = values[rowNumber][1];
parametersObj['league'] = values[rowNumber][2];
league['parameters'] = parametersObj;
var errorsObj = [];
league['errors'] = errorsObj;
league['results'] = values[rowNumber][4];
var pagingObj = {};
pagingObj['current'] = values[rowNumber][5];
pagingObj['total'] = values[rowNumber][6];
league['paging'] = pagingObj;
var standingsResponse = {};
var leagueObj = {};
leagueObj['id'] = values[rowNumber][7];
leagueObj['name'] = values[rowNumber][8];
leagueObj['country'] = values[rowNumber][9];
leagueObj['logo'] = values[rowNumber][10];
leagueObj['flag'] = values[rowNumber][11];
leagueObj['season'] = values[rowNumber][12];
var standings = [];
for (var i = rowNumber; i < values.length; i++) {
var teamObj = {};
teamObj['rank'] = values[i][13];
var teamData = {};
teamData['id'] = values[i][14];
teamData['name'] = values[i][15];
teamData['logo'] = values[i][16];
teamObj['team'] = teamData;
teamObj['points'] = values[i][17];
teamObj['goalsDiff'] = values[i][18];
teamObj['group'] = values[i][19];
teamObj['form'] = values[i][20];
teamObj['status'] = values[i][21];
teamObj['description'] = values[i][22];
var allObj = {};
allObj['played'] = values[i][23];
allObj['win'] = values[i][24];
allObj['draw'] = values[i][25];
allObj['lose'] = values[i][26];
var goalsObj = {};
goalsObj['for'] = values[i][27];
goalsObj['against'] = values[i][28];
allObj['goals'] = goalsObj;
teamObj['all'] = allObj;
var homeObj = {};
homeObj['played'] = values[i][29];
homeObj['win'] = values[i][30];
homeObj['draw'] = values[i][31];
homeObj['lose'] = values[i][32];
goalsObj = {};
goalsObj['for'] = values[i][33];
goalsObj['against'] = values[i][34];
homeObj['goals'] = goalsObj;
teamObj['home'] = homeObj;
var awayObj = {};
awayObj['played'] = values[i][35];
awayObj['win'] = values[i][36];
awayObj['draw'] = values[i][37];
awayObj['lose'] = values[i][38];
goalsObj = {};
goalsObj['for'] = values[i][39];
goalsObj['against'] = values[i][40];
awayObj['goals'] = goalsObj;
teamObj['away'] = awayObj;
teamObj['update'] = values[i][41];
standings.push(teamObj);
}
leagueObj['standings'] = standings;
standingsResponse['league'] = leagueObj;
league['response'] = standingsResponse;
return league;
}