2013-10-04 4 views
2

Я пытаюсь выполнить HTTP-сообщение в форме Google, из программы на моем устройстве. Для устаревшей формы URL-адрес активной формы формы выглядит следующим образом. Я использовал этот текст, чтобы выполнить HTTP-протокол HTTP/1.1 POST, который был успешным.HTTP POST для google form C program

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

Для новой формы Google (в зависимости от того вы создаете на Google Диске в настоящее время), ниже является активным представить URL. Когда я использую это для HTTP поста, я получаю Bad Request с кодом ошибки 400.

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

Что изменилось между старой и новой формой Google? Я вижу аналогичную проблему, с которой сталкивается кто-то в другом месте, но пока нет решения. Спасибо за вашу помощь.

ответ

0

Это Javascript (Google Apps Script) POST, который работает на текущей форме Pperhaps вы можете получить то, что вам нужно от этого (с одним полем!):

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()) 
}