2013-09-10 68 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名稱。不知道爲什麼這會起作用,但它的確如此,至少對我而言。

相關問題