How to get persistent data from a website's data endpoint with cookies to GSHEETS by AppScript?

Viewed 55

I'M newbie i am using google script to be get data endpoint form web. My code using :

function testFunction() {
var url = 'https://trader.xxx.app/api/data/trade/20058760/63549969';

var map = {

"cookie": ".AspNetCore.Antiforgery.DvnwCO4RNgs=CfDJ8Lq5zSRi6AVFv2yxRTgHigNGdKZPKdG-c7U33EUIYc-90Mb0y3YYAH7ntiRp9hRygngVce88wIsQq3XSCgA7DYPWxVPKSHZLxKx6Q6R3Q826ulDmwvsoX_N7pESn3TFRWe2_u0Krl0c74_Z4UIeiOWc; .AspNetCore.Cookies=CfDJ8Lq5zSRi6AVFv2yxRTgHigNoZOuFxznxPef2Z2wMA5vKVkuq3rGG6mcmbvh77X3As3at5-Piq3tl79DuzF78LOfEaROXbojr_QJ0n3781h9ohTC_dvVMxfUupSmIAuJCVGP5g56ix_1U1PaWNn7Tj2GYZuVuQ6__xbfIsC58y0aJ8DqLYU9EU62bOVGGIts6Cic-pEfnaNLomkPj-J3qsAvZHliSXt3f2n5JLr4CoYS1FYg9vGYpw7upXyY9FgBC6bXdtjEqIISnirLa3ird1OXeAK7fO9Onk8r2EonGXK1FgDcHMkb0bE4ZtAWzkKvMQGZq07y0iVZL4VFCHuLEAPZ0-ccndGZVvvneUsejS-iT"
}

var options = {
"method": "get",
"muteHttpExceptions": false,
"headers": map
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response);


var json = JSON.parse(response.getContentText());
//Logger.log(json);

// Use Spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var balancesSheet = ss.getSheetByName("test");
var values = json.map(({ id, ticket, side, openTime, closeTime, symbol, lots, profit }) => [id, ticket, side, openTime, closeTime, symbol, lots, profit]);
Logger.log(values)
balancesSheet.getRange(balancesSheet.getLastRow(), 1, values.length, 
values[0].length).setValues(values);


}

But i am having problems like : For example, the url I submitted ("https://trader.xxx.app/api/data/trade/20058760/63549969"), the problem is that the last string of numbers ("63549969") changes every time I load the data. I'm trying to figure out how that sequence of numbers is generated, here's the code for it:

function loadMoreTrades()
     {
         $.get("/api/data/trade/20058760/"+tradeId, function(data, status){
             if(data.length==0){
                 $('#btnMore').css('display','none');
             }
             else {
                 for(i=0; i<data.length;i++){
                     tradeId = data[i].id;
                     $('#tradeList > tbody:last-child').append(`<tr> <td>${data[i].ticket}</td> <td>${data[i].side}</td> <td>${data[i].openTime}</td> <td>${data[i].closeTime}</td> <td>${data[i].symbol}</td> <td>${data[i].lots}</td> <td>${data[i].profit}</td> </tr>`);
                 }
                 numLoadedTrades += data.length;
                 if (numLoadedTrades == 248) {
                     $('#btnMore').css('display', 'none');
                 }
             }
         });
        }

[Sourch ]1

[The result I want to show on Gsheets]2

I hope everyone can help.If there is a better way, please help me. Many Thanks .

0 Answers
Related