Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Javascript 如何将Google/sheetsAPI数据传递到网站?_Javascript_Node.js_Amazon Web Services_Google Api_Aws Lambda - Fatal编程技术网

Javascript 如何将Google/sheetsAPI数据传递到网站?

Javascript 如何将Google/sheetsAPI数据传递到网站?,javascript,node.js,amazon-web-services,google-api,aws-lambda,Javascript,Node.js,Amazon Web Services,Google Api,Aws Lambda,苏,, 我想从google表单中获取数据到一个网站,该网站会动态地将传递的数据附加到该网站,这样网站上的itme的数量就等于行的数量。我几乎每件事都是单独完成的,但我似乎不知道如何将它们结合起来。 我建立了一个node.js项目,它使用我的Api键检索数据,操作数据并将其推送到数组中 另外,也许有一种更有效的方法来推送数据,但除了将数据保存到一个文件中,然后将其读回之外,我想不出任何其他方法。然后我把它注入了一个AWS api网关+Lambda功能,但它并没有真正起作用,因为我无法让Lambda

苏,, 我想从google表单中获取数据到一个网站,该网站会动态地将传递的数据附加到该网站,这样网站上的itme的数量就等于行的数量。我几乎每件事都是单独完成的,但我似乎不知道如何将它们结合起来。 我建立了一个node.js项目,它使用我的Api键检索数据,操作数据并将其推送到数组中

另外,也许有一种更有效的方法来推送数据,但除了将数据保存到一个文件中,然后将其读回之外,我想不出任何其他方法。然后我把它注入了一个AWS api网关+Lambda功能,但它并没有真正起作用,因为我无法让Lambda要求google/api,但我想我可以解决这个问题。 我也已经在网站上做了所有的HTML/JS来将数据推送到页面上,但我似乎不知道如何从我的AWS http链接中获取数据到我的网站上。无论我使用async还是promise,或者两者都不使用,它都无法获取数据

“问题:在Lambda中使用google/api,从api到阵列获取数据,可能是从google api获取数据的不同方式”

提前谢谢你

AWS链接:

//网站上的JS代码
var-receivearray=[];
函数createEntry(数据){
对于(i=0;i
//JS code on website

var receivearray =[];

function createEntry(data){
  for(i=0;i<data.length;i++){
    var outdt = document.createElement('div');
      outdt.className='outwrap';

        var pers_name = document.createElement('div');
            pers_name.className='name';
              var pers_name_txt= document.createElement('h3');
                pers_name_txt.className='name_head';
                  pers_name_txt.innerHTML=data[i][0];

              outdt.append(pers_name);
              pers_name.append(pers_name_txt);  


        for(k=1;k<data[i].length;k++){
          var top =document.createElement('div');
            top.className='text_wrap';
              var q = document.createElement('p');
                  q.className='frage';
                  q.innerHTML=data[i][k][0];
              var a= document.createElement('p');
                  a.innerHTML=data[i][k][1];
        outdt.append(top);
        top.append(q,a);    
        }
  document.body.appendChild(outdt);
  }
};
createEntry(receivearray);

//Node.js Code

//requirements 
var GoogleSpreadsheet = require('google-spreadsheet');
var crds = require('./credt.json');
const fs = require('fs');
//updates the data-tfile
function update(sheetid){
  //google api shapens                
  var doc = new GoogleSpreadsheet(sheetid);

  doc.useServiceAccountAuth(crds, 
    function (err) {

      doc.getRows(1,
        function (err, rows) {
          //saves all retrieved data into textfile 
          fs.writeFile('ting.txt', JSON.stringify(rows), 
            function (err) {
              //checks if file was saved succesfully
              if (err) throw err;
              console.log('updated')
            }
          )
        }
      )
    }
  )
}
function prepdata(){
  //define variables
  var text = fs.readFileSync("ting.txt", "utf8");
  var findata =[];
  var hold=[];
  //singleout all row-elements
  for(x=0;x<text.length;x++){
    if(text.slice(x,x+7)=='"name":'){

      hold.push(text.slice(x+7,x+120));
    }
  }
  //split data by , into sets
  for(x=0;x<hold.length;x++){

    findata.push(hold[x].split(','));
  }
  //push sets into arrays
  for (var k = 0; k < findata.length; k++){
    for (var i = 0; i < findata[k].length; i++){
      findata[k][i] = findata[k][i].replace(/"/g, " ");
      findata[k][i] = findata[k][i].split(':');
    }
  }
  return findata;
}
update("1W6tVuj0krrwI7PyTRJha2ZOX72kGGfFAI8eqXOirWHo");
console.log(prepdata());