Как заполнить форму Google с помощью C # - PullRequest
0 голосов
/ 19 сентября 2018

Форма многостраничная , например this , и я попытался использовать POST-запрос, но он работает только для одностраничной формы, проверьте эту тему .Может быть есть другие способы?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Ответ Puneet был единственным ответом, который я нашел о том, как работать с флажками с несколькими значениями.Я попытался найти способ поместить несколько значений флажков в тело ответа, а не в URL, но не смог.

В духе его ответа я сделал GoogleFormSubmissionService в C #, чтобыупростить работу с Google Forms в C #.

Вы можете найти его в моем Гисте здесь: Служба отправки Google Forms в C #

0 голосов
/ 19 сентября 2018

Попробуйте этот код.

WebClient client = new WebClient();
var nameValue = new NameValueCollection();
nameValue.Add("entry.xxx", "VALUE");// You will find these in name (not id) attributes of the input tags 
nameValue.Add("entry.xxx", "VALUE");
nameValue.Add("entry.xxx", "VALUE");
nameValue.Add("entry.xxx", "VALUE");
nameValue.Add("pageHistory", "0,1,2");//Comma separated page indexes
Uri uri = new Uri("https://docs.google.com/forms/d/e/[FORM_ID]/formResponse");
byte[] response = client.UploadValues(uri, "POST", nameValue);
string result = Encoding.UTF8.GetString(response);

Я пробовал это с 3 страницами.Вы можете иметь любое количество страниц «я думаю».При этом данные будут отправлены напрямую и будет отображаться «Страница успеха из форм Google».

РЕДАКТИРОВАТЬ

Я не работал с формами Google «как никогда», поэтому не смог найти правильный путьсделать это, если есть, но это, кажется, работает просто отлично.

Добавьте это к вашему URI для нескольких флажков

?entry.xxxx=Option+1&entry.xxxx=Option2 

entry.xxxx остается тем же для одного вопроса, если у вас естьЕсли задать несколько вопросов с флажками, то изменится на это значение

?entry.xxx=Option+1&entry.xxx=Option2&entry.zzz=Option+1&entry.zzz=Option2

. Если ваш флажок заменен (пробел) на (+) плюс, если есть, как в (Вариант 1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...