Javascript 如何将Google/sheetsAPI数据传递到网站?
苏,, 我想从google表单中获取数据到一个网站,该网站会动态地将传递的数据附加到该网站,这样网站上的itme的数量就等于行的数量。我几乎每件事都是单独完成的,但我似乎不知道如何将它们结合起来。 我建立了一个node.js项目,它使用我的Api键检索数据,操作数据并将其推送到数组中 另外,也许有一种更有效的方法来推送数据,但除了将数据保存到一个文件中,然后将其读回之外,我想不出任何其他方法。然后我把它注入了一个AWS api网关+Lambda功能,但它并没有真正起作用,因为我无法让Lambda要求google/api,但我想我可以解决这个问题。 我也已经在网站上做了所有的HTML/JS来将数据推送到页面上,但我似乎不知道如何从我的AWS http链接中获取数据到我的网站上。无论我使用async还是promise,或者两者都不使用,它都无法获取数据 “问题:在Lambda中使用google/api,从api到阵列获取数据,可能是从google api获取数据的不同方式” 提前谢谢你 AWS链接: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
//网站上的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());