2013-09-10 43 views
3

突然这个表单直接发布到公共电子表格已停止:形式与POST方法谷歌电子表格不工作了

<form action='https://drive.google.com/spreadsheet/formResponse?formkey=XXXXXXXXXXXXXXXX' method='post'> 
<input type='text' name='entry.0.single' /> 
<input type='text' name='entry.1.single' /> 
[...] 
</form> 

我设法通过相关电子表格的形式做到这一点:

<form action='https://docs.google.com/forms/d/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse' method='post'> 
<input type='text' name='entry.YYYYYYYYYYY' /> 
<input type='text' name='entry.ZZZZZZZZZZZ' /> 
[...] 
</form> 

问题是:每个表单的输入名称都是不同的,与之前的做法不同,它是entry.0,entry.1等。是否有任何解决方法?

回答

2

我记得在G的某个地方阅读的时候,G不喜欢第三方应用程序绕过表单直接发布到电子表格。您可能需要编写一个简单的Apps脚本或App Engine servlet来获得强大的替代方案。

+0

你有关于如何使用App Engine做的任何信息? – gabrielhpugliese

+0

Google“应用程序引擎”和“驱动器sdk”。如果您之前从未使用过外接引擎,那么您需要阅读大量的内容。本文http://cesarstechinsights.blogspot.mx/2013/02/how-to-create-jsonp-apps-script-server.html解释了如何使用具有较短学习曲线但灵活性较低的应用脚本来完成此操作。 – pinoyyid

+0

我与App Engine一起工作,但从未对驱动器sdk做过任何事情。所以我想我需要搜索Drive SDK :)我也有一个使用Apps脚本的开源项目,但由于灵活性,它不能解决我的问题。谢谢 – gabrielhpugliese

0

我刚刚在过去几天遇到了这个问题,我用了两种不同的形式,我已经使用了很长一段时间。就我而言,我已经开始使用Google表单中的html,并将其重新写入我的服务器提供的我自己的页面中。当我看到这个问题时,我检查了新表单的来源,并将操作URL粘贴到我的表单中。没有工作,但以不同的方式。然后,我接着用entry.10000x名称替换了所有entry.x.single名称。仍然遇到问题。花了一段时间,但我终于意识到,失败的条目是类型条目。未加工的Google表单在我提供的表单中有一部分条目(并且一个条目基于另一个表单动态更新,这就是为什么我首先走这条路线)。我回到Google表单,并将其改为输入type = text条目,这些条目可以接受任何内容,并且我恢复了业务。看起来,POST响应正在根据与电子表格一起存储的表单上Google可见的选项列表进行验证。

在我的另一种形式上,这也是从我自己的服务器提供的,问题似乎更简单。再次,我有一个“选择”类型的条目,再次只有一部分条目。 Google知道的条目很好。所以我只是补充了剩下的,一切都很好。请注意,我没有更改操作URL,也没有更改entry.x.single名称。不知道为什么这会起作用,但它的确如此,至少对我而言。

相关问题