2012-07-18 1 views
1

Google Apps 스프레드 시트를 사용하는 프로그램이 있으며 스프레드 시트에 데이터를 읽고 씁니다.하지만 스프레드 시트에서 데이터가 변경되면 Google 스프레드 시트의 데이터가 자동으로 새로 고침됩니다. . 한 컴퓨터에서 볼 수있는 페이지를 만들고 다른 컴퓨터에서 버튼을 클릭하면 다른 컴퓨터에서 숫자가 늘어납니다. Google 앱 스크립팅 언어에서 웹 앱 라벨을 자동으로 새로 고치는 방법이 있습니까?Google Apps Scripting Web App 자동 새로 고침 레이블

var dataByDepartment = {}; 
    var departments = []; 

    var dataSs = SpreadsheetApp.openById(DATA_SPREADSHEET_ID); 
    var dataSheet = dataSs.getSheets()[0] 
    var data = getRowsData(dataSheet); 

function doGet() { 
    var app = UiApp.createApplication(); 
    app.add(app.loadComponent("GNWDataGui")); 

    app.getElementById('deathLabel').setText("gameDeaths: " + data[0].deaths); 
    app.getElementById('killLabel').setText("gameKills: " + data[0].kills); 

    return app; 

} 

function deathClickHandler(e) { 
    var app = UiApp.getActiveApplication(); 
    var sheet = dataSs.getSheetByName('General'); 

    data[0].deaths += 1; 
    app.getElementById('deathLabel').setText("Death: " + data[0].deaths); 
    setRowsData(sheet, data); 

    app.close(); 
    return app; 
} 

function deathClickMinHandler(e) { 
    var app = UiApp.getActiveApplication(); 
    var sheet = dataSs.getSheetByName('General'); 

    data[0].deaths -= 1; 
    app.getElementById('deathLabel').setText("Death: " + data[0].deaths); 
    setRowsData(sheet, data); 

    app.close(); 
    return app; 
} 


function autoRefreshHandler(e) { 

     var app = UiApp.getActiveApplication(); 

    app.getElementById('autoRefreshButton').setText("Auto Refresh"); 

    data = getRowsData(dataSheet); 
    app.getElementById('deathLabel').setText("gameDeaths: " + data[0].deaths); 
    app.getElementById('killLabel').setText("gameKills: " + data[0].kills); 

    app.close(); 
    return app; 

} 

답변

0

이 문서화되지 않은 기능입니다 :

UiApp.addTimer (핸들러, 밀리 초);

UiApp 인스턴스를 반환하고 핸들러에서 타이머를 다시 실행해야합니다.