如果我这样设置,我可以从HTML发布到谷歌表单:
<form form action="GOOGLE_FORM_RESPONSE_URL" method="POST">
<input type="text" name="entry.191678976" placeholder="Name" ></input><br>
<input type="text" name="entry.1387050595" placeholder="Age"></input><br>
<input type="submit" name="submit" value="Submit!"></input>
</form>
我已经使用express设置了一个node.js服务器,并希望HTML提交给节点服务器,此时节点服务器解析表单数据并提交给谷歌。除了提交谷歌部分之外,这一切都有效,我将在下面解释:
HTML:
<form form action="/add" method="POST" name="top">
<input type="text" name="namefield" placeholder="Name" ></input><br>
<input type="text" name="agefield" placeholder="Age"></input><br>
<input type="submit" name="submit" value="Submit!"></input>
</form>
使用body-parser,表达并请求执行以下操作:
app.js:
app.post('/add', function (req, res) {
var Name = req.body.namefield;
var Age = req.body.agefield;
requestify.post('GOOGLE_FORM_RESPONSE_URL', {
"entry.191678976": Name,
"entry.1387050595": Age
})
.then(function(response){
response.getBody();
res.send(response.body);
});
console.log(Name);
console.log(Age);
});
它成功地抓取了表单值(它们打印到控制台),但它没有正确地将它们传递给谷歌(谷歌显示带有空字段的表单)。
编辑:我最终只使用本指南,比表单方法https://www.nczonline.net/blog/2014/03/04/accessing-google-spreadsheets-from-node-js/
更容易唯一的事情:每次我想做一些像spreadsheet.add这样的东西时,我是否必须调用Spreadsheet.load及其中的所有内容?如果没有,任何文献将解释为什么/如何?