从 Android 提交到 Google 表单?

Submit to Google Form from Android?

我想从 Android 应用程序向 Google 表单提交一个字符串。这似乎是在 this thread 中实现的,但从那时起,Apache HTTP 客户端在 Android 6.0 中被删除。

有人建议在 中使用 OkHttp,但 OkHttp 已经更新并且 FormEncodingBuilder class 消失了。提交 Google 表格的最新方式是什么?

您现在可以使用:okhttp3.FormBody 而不是 FormEncodingBuilder。

编辑: 像这样

OkHttpClient client = new OkHttpClient();
FormBody body = new FormBody.Builder()
     .add("your_param_1", "your_value_1")
     .add("your_param_2", "your_value_2")
     .build();
Request request = new Request.Builder()
     .url("http://my.wonderfull.url/to/post")
     .post(body)
     .build();
Response response = client.newCall(request).execute();

如果你想 post JSON 内容用 RequestBody 替换 FromBody:

RequestBody body = RequestBody.create( JSON, json );

编辑 2:

要使用的URL是(这个是我的):

https://docs.google.com/forms/d/1k96sccTC_24b6jo9Fs4h_ML-FVKHCMElgjUzOwSkwu4/formResponse

而且你还必须通过查看表单的源代码找到你的表单输入的名称,名称以 entry. 开头,后面是一个数字:

<input name="entry.361168075" value="" class="ss ......

所以你的 formBody 看起来像这样:

FormBody body = new FormBody.Builder()
          .add( "entry.361168075", "Red" )
          .build();

我在那里编写了一个完整的可行示例: http://blog.quidquid.fr/2016/01/post-from-java-to-a-google-docs-form/