HTTP POST到谷歌表格C程序

时间:2013-10-04 04:31:14

标签: c http-post google-form

我正在尝试从我的设备中的C程序向Google表单发送HTTP帖子。对于旧表单,活动表单提交URL如下所示。我使用这些文本来进行URL编码的HTTP / 1.1 POST,这是成功的。

https://spreadsheets.google.com/formResponse?formkey=FORMKEY&ifq&entry.0.single=ENTRY1&entry.2.single=ENTRY2&submit=Submit

对于新的Google表单(无论您何时从Google驱动器创建),以下是有效的提交网址。当我将它用于HTTP帖子时,我收到错误代码400的错误请求。

https://docs.google.com/forms/d/FORMKEY/formResponse?entry.1252261890=ENTRY1&entry.1890412746=ENTRY2

新旧Google表单之间发生了哪些变化?我看到其他人遇到的类似问题但到目前为止还没有解决方案。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

这是一个javascript(谷歌应用程序脚本)POST,正在处理当前表单(有一个字段!),也许你可以从中得到你需要的东西:

function sendHttpPost() {

var fish = "I am a mackerel";

   var payload =
   {
     "entry.2071121932" : fish

   };

   // Because payload is a JavaScript object, it will be interpreted as
   // an HTML form. (We do not need to specify contentType; it will
   // automatically default to either 'application/x-www-form-urlencoded'
   // or 'multipart/form-data')

   var options =
   {
     "method" : "POST",
     "payload" : payload,
      "muteHttpExceptions": true
   };

 var response =  UrlFetchApp.fetch("https://docs.google.com/forms/d/this is the form ... key/formResponse", options);

Logger.log(response.getContentText())
 }