0

GoogleAppsScriptsを使用して簡単なウェブアプリを作成しました。UIは、FusionTableで継続的に更新されているいくつかの数値を表示するだけです。カスタムデータ取得システムが私の家でローカルに実行されており、FusionTableに毎分新しい結果を送信しています。新しい番号が表示されるように、GASWebアプリのUIを1分間隔で更新したいと思います。

タイムドライバートリガーを実行してFusionTableから定期的にデータを取得し、スクリプト自体のScriptDbに数値を格納することで、問題の半分を解決しました。したがって、これは適切な近隣にデータを取得するために正常に機能します。しかし、UIのテキストボックスを新しいデータで定期的に更新する方法がまだわかりません。

これまでのところ、ユーザーがクリックしてScriptDbに保存されている最新の数値で表示を更新できるUIの更新ボタンを手動で構成しました。とても近いので味わえます!

誰かアイデアがありますか?

4

3 に答える 3

5

自動更新の方法を使用できますが、UiInstance.addTimer文書化されておらず、サポートされていない可能性があります。

その構文はUiInstance.addTimer( ServerHandler , interval);

以下のサンプルコードを参照してください。

function doGet(e) {

  var app = UiApp.createApplication();

  

  app.add(app.createLabel(new Date()).setId("label"));

  

  app.addTimer(app.createServerHandler("update") , 1000);

  

  return app;

}



function update(e){

  var app = UiApp.getActiveApplication();

  app.getElementById("label").setText(new Date());

  app.addTimer(app.createServerHandler("update") , 1000);


  return app;

}

サンプルアプリはここにあります。

于 2012-11-30T07:54:30.033 に答える
2

スプレッドシートを使用して表示します。それらは自動更新されます。

Stackoverflow、これは感謝ではなく解決策ですが、あなたにとっては:

  1. スプレッドシートを作成する
  2. 投稿するサービスを追加する
  3. サービス更新スプレッドシートを持っている
  4. スプレッドシートを見る
于 2012-12-05T14:12:39.507 に答える
1

残念ながら、Google Apps Scriptには、UIを頻繁に更新するタイマー機能がまだありません。ただし、しばらく前に書いたハックがあり、古いApps Scriptフォーラム( http://productforums.google.com/forum/#!topic/apps-script/2pqhh_eTIvQ )で入手できます。

スタックオーバーフローで検索できる改良点がありますが、基本的な前提は同じです。つまり、チェックボックスの値をプログラムで変更し、その変更ハンドラーをトリガーできるという事実を利用します。

于 2012-11-30T06:24:11.413 に答える