Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Can';我无法从谷歌电子表格上的API获取数据_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script Can';我无法从谷歌电子表格上的API获取数据

Google apps script Can';我无法从谷歌电子表格上的API获取数据,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我使用这个代码脚本从Google电子表格中获取数据 function ticker(){ var rows=[],obj_array=null; try {obj_array=JSON.parse(UrlFetchApp.fetch("https://api.hitbtc.com/api/2/public/ticker").getContentText());} catch (e) {obj_array=null;} if (obj_array!=null){ for

我使用这个代码脚本从Google电子表格中获取数据

    function ticker(){
  var rows=[],obj_array=null;
  try {obj_array=JSON.parse(UrlFetchApp.fetch("https://api.hitbtc.com/api/2/public/ticker").getContentText());} catch (e) {obj_array=null;}
  if (obj_array!=null){
    for (r in obj_array) {rows.push([obj_array[r].symbol,parseFloat(obj_array[r].last),parseFloat(obj_array[r].volume),parseFloat(obj_array[r].ask),parseFloat(obj_array[r].bid)]);}
    var ss=SpreadsheetApp.getActiveSpreadsheet(),sheet=ss.getSheetByName('Hitbtc');ss.getRange("Hitbtc!A1").setValue(new Date());
    try {var range=sheet.getRange(2,1,sheet.getLastRow(),6).clearContent();} catch(e) {Logger.log("error");}
    if (rows==null||rows=="") {Browser.msgBox("Oops, no data"); return false;}
    range=sheet.getRange(2,1,rows.length,5); range.setValues(rows); 
  }
}
然后我尝试了来自的另一个API,我无法获取数据。始终显示#NUM!。有人能帮我吗

function kuticker(){
  var rows=[],obj_array=null;
  try {obj_array=JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText());} catch (e) {obj_array=null;}
  if (obj_array!=null){
    for (r in obj_array) {rows.push([obj_array[r].symbol,parseFloat(obj_array[r].last),parseFloat(obj_array[r].vol),parseFloat(obj_array[r].buy),parseFloat(obj_array[r].sell)]);}
    var ss=SpreadsheetApp.getActiveSpreadsheet(),sheet=ss.getSheetByName('Kucoin');ss.getRange("Kucoin!A1").setValue(new Date());
    try {var range=sheet.getRange(2,1,sheet.getLastRow(),6).clearContent();} catch(e) {Logger.log("error");}
    if (rows==null||rows=="") {Browser.msgBox("Oops, no data"); return false;}
    range=sheet.getRange(2,1,rows.length,5); range.setValues(rows); 
  }
}
这是文件

谢谢

这个答案怎么样

修改点:
  • 我认为问题的原因是从
    https://api.hitbtc.com/api/2/public/ticker
    和从
    https://api.kucoin.com/api/v1/market/allTickers
    • 在前者,数据数组可以直接从
      obj_数组
    • 在后者中,数据数组包含在
      obj_array.data.ticker
当这反映到脚本中时,请修改
kuticker()
的函数,如下所示

修改脚本: 发件人: 致: 结果: 当运行上述修改后的脚本时,可以得到以下结果


这是工作!谢谢你刚刚错过了放在后面的。data.ticker。谢谢again@user3546314谢谢你的回复。我很高兴你的问题解决了。
obj_array=JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText());
obj_array = JSON.parse(UrlFetchApp.fetch("https://api.kucoin.com/api/v1/market/allTickers").getContentText()).data.ticker;