我想从 Android 应用程序向 Google 表单提交一个字符串。这似乎是在 this thread 中实现的但从那时起,Apache HTTP 客户端在 Android 6.0 中被删除了。
建议在this thread中使用OkHttp但是 OkHttp 已经更新并且 FormEncodingBuilder 类消失了。提交至 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();
如果您想发布 JSON 内容,请将 FromBody 替换为 RequestBody:
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/
关于android - 从 Android 提交到 Google 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048154/