0

UrlFetchApp.fetchを使用してデータベースを大量に呼び出しています。スプレッドシートを埋め込むと、ブラウザでgoogleスプレッドシートを開いたまま、すべてのデータが適切に表示されます。しかし、ブラウザでスプレッドシートを閉じて、埋め込みページで見ると、すべてのセルが「Thinking...」と表示されます。GDriveを使用してスプレッドシートを再度開くと、すべてのセルが再度リロードされます。しかし、閉じるたびに、埋め込まれたシートは「Thinking...」のみを表示するように戻ります。

シートが開いていないときに、関数によって取得されたデータを保持しませんか?これを回避する方法はありますか?

編集:サンプル関数

function count(term, date){
  var randnumber = Math.random()*10000;
  Utilities.sleep(randnumber);
  var response = UrlFetchApp.fetch("http://url");
  var doc = Xml.parse(response.getContentText());
  var topElement = doc.getElement();
  var count = topElement.getElement("Count");
  var countValue = count.getText();
  var reference = countValue;
  return reference;
}

Utilities.sleep()を削除しても効果がありません

4

1 に答える 1

0

さて、これは実際には問題を解決しない解決策です:

私はウィジェットを埋め込んでいましたが、実際のスプレッドシートをこれで埋め込むとうまくいきます:

<iframe src="https://docs.google.com/spreadsheet/ccc?key=KEYHERE&amp;hl=en&amp;ui=2&amp;rm=minimal#gid=#" frameborder="0" width="whatever" height="whatever"></iframe>

また、制限に達しないようにデータをキャッシュしました。

列/行の文字が削除されるため、代わりにウィジェット(またはリストビューで誰でもソートできるように)を表示したいので、ウィジェットがこの関数を使用して値を表示しない理由を知りたいです。しかし、これは今のところ行います。

于 2013-01-10T23:09:33.193 に答える