2017-08-25 149 views
2

我在使此API工作時遇到問題。我在使用API​​時遇到問題

我對Google Finance API使用了相同的代碼,並且完美地工作。問題是我只能獲得少量的股票,而從長遠來看,我需要運行12000只股票(如果可能的話)。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
    var temp = []; 
    $(document).ready(function(){ 
     stockInformation(); 
     setInterval(stockInformation, 5000); 
    }); 
    function stockInformation() 
    { 
     $.ajax({ 
      url:"https://api.website.com/public/user/token/stock/SDRL/quote", 
      dataType:"jsonp", 
      jsonp:"callback", 
      jsonpCallback:"quote" 
     }); 
     var i = 0; var j = 0;var status = ""; 
     quote = function(data){ 
      var output = "<table>" 
      $.each(data, function(key, value){ 
       if (value.l_cur > temp[j]) 
        status = "<td style=color:green>Up</td>"; 
       else if (value.l_cur < temp[j]) 
        status = "<td style=color:red>Down</td>"; 
       else 
        status = "<td>Same</td>"; 
       j++; 
       output += "<tr><td>" + value.t + "</td><td>" + value.l_cur + "</td>" + status + "</tr>"; 
       temp[i] = value.l_cur;i++; 
      }) 
      output += "</table>"; 
      $("#result").html(output); 
     } 
    } 
</script> 

<div id="result"></div> 

這就是API的回報(不與上面的代碼):

{"timestamp":"1503691321","datetime":"2017-08-25 16:02:01 (UTC)","price":"6.17","price change":"0.12","price pct change":"1.98","open":"6.09","volumn":"1852887","low":"6.00","high":"6.22","currency":"USD"} 
+1

那麼問題是與API本身?我們怎麼可能幫助你呢? – lumio

+1

很可能api會有一些限速的時間,12,000是很少的一小部分要求。你應該查看API的文檔,看看它是否有選項來指定你想要在一個請求中接收的項目數量,或者如何請求多個報價 –

+0

這沒有奏效..:/ API的問題將會只返回1結果,即使我嘗試通過url中的股票代碼循環不同的符號。我相信這個api沒有限制。 –

回答

1

很多的谷歌API的限制請求的數量,你可以在給定時間內做出。有時甚至低至每月50個,取決於api和請求的類型。它看起來不像你在代碼中使用api的方式有什麼問題。 你可以通過分頁來解決這個問題。從30開始一次,然後當你的用戶點擊下一個按鈕或滾動到頁面的末尾,然後去獲得下一個30.