android - 从 Android 提交到 Google 表单?

标签 android google-sheets google-forms

我想从 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/

相关文章:

java - onPictureTaken 方法 - 以 tiff 形式获取数据?

android - Android上的恢复 Activity 时YouTube播放器崩溃异常

javascript - 如何通过 Google Drive Javascript OAuth2 API 创建 Google Sheets 文档?

google-sheets - IMPORTDATA 函数 Google 表格

google-forms - 如何在 Google 表单中设置默认值

java - 将 XML 代码应用于多个 xml 元素

android - 检查是否有默认应用程序的选择器 Intent

google-apps-script - 在 google docs/spreadsheets 的自定义公式中使用现有的电子表格公式

google-apps-script - 如何在 Google Sheet 中自动捕获受访者的电子邮件 ID?

google-apps-script - Apps 脚本 - 以编程方式将答案从 Google Sheet 提交到 Google Form - 错误 - "Sorry, this response has already been submitted."