Refresh Button / Auto Update GOOGLE SPREADSHEET

不问归期 提交于 2019-12-01 21:36:59

问题


I hope you can help me. I have been trying to get this working for quite some time.

I am taking the API from a website import it into google spreadsheets VIA importjson()

ImportJSON("http://api.796.com/v3/futures/ticker.html?type=weekly")

https://gist.github.com/chrislkeller/5719258

I have no problem importing the json data into google spreadsheet, now the hard part is making the data update, I would really like it to auto update but even a "update now" button would be great.

Thanks, This has been driving me nuts. BV


回答1:


So I was searching for a good way to do this as well. Here is what I have found so far.

If you change the function line of the importJSON like this:

function ImportJSON(url, query, parseOptions, recalc) {
}

Which just adds the recalc parameter to the function definition. This is a 'trick' because that parameter is not used for anything other than to make GSheet think something has changed. Then in the call to ImportJSON (in a GSheet cell), you add in the function call like this:

=ImportJSON("https://yourDomain.com/something","","rawHeaders",A1)

Then in the sheet you can manually change the value of A1 to anything different than it is. The Sheet and all the imports will get refreshed.

Another ... non-technical trick ... manually change A1 to 1 then 2 then 3. Each time the sheet will recalc. Now you can use the UNDO and REDO buttons to change the numbers and recalc the sheet.

A little of a kludge Hack, but it does make for a one-button "recalc" of a sort.




回答2:


You can just add the time trigger https://developers.google.com/apps-script/understanding_triggers




回答3:


File > Spreadsheet settings > Calculation > Recalculation: On change and every minute

Then you can insert a =now() column and it will refresh the sheet every minute.

Apologies if you've tried this already, I have it setup now in a sheet but am waiting for a live event to test, so it might not even work.




回答4:


Im not really a javascript person, but I might have a little code that might help start you off. (Sorry if it does not help). What I use in my site is this (I changed it a little bit to incorporate your url).

$( document ).ready(function($) {
  setInterval(function(){
    $('.sell').load('http://api.796.com/v3/futures/ticker.html?type=weekly');
  }, 5000);
});

This just grabs the JSON every 5 seconds, so be sure you parse the JSON and display the data you need. Hope this helps! :)



来源:https://stackoverflow.com/questions/21842027/refresh-button-auto-update-google-spreadsheet

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!