Refresh Button / Auto Update GOOGLE SPREADSHEET

后端 未结 4 523
终归单人心
终归单人心 2021-01-19 11:51

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 importj

相关标签:
4条回答
  • 2021-01-19 12:09

    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.

    0 讨论(0)
  • 2021-01-19 12:20

    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.

    0 讨论(0)
  • 2021-01-19 12:21

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

    0 讨论(0)
  • 2021-01-19 12:25

    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! :)

    0 讨论(0)
提交回复
热议问题