我已阅读并理解此网页中的以下代码作为开发我的Android应用程序的参考: https://github.com/square/okhttp/blob/master/samples/guide/src/main/java/okhttp3/recipes/PostForm.java
public class PostForm extends AsyncTask<String, Void, String>
{
public static final MediaType FORM_DATA_TYPE = MediaType.parse("application/text; charset=utf-8");
String URL = "https://docs.google.com/forms/d/e/FILLERFORMTESTINGNOTREAL";
String USER_NAME = "entry.XXXXXXXXX"; //FAKE ENTRY
String PASSWORD = "entry.XXXXXXXXX"; //FAKE ENTRY
@Override
public String doInBackground(String... params)
{
String username = params[0];
String password = params[1];
try
{
OkHttpClient client = new OkHttpClient();
String post_data = USER_NAME + "=" + URLEncoder.encode(username, "UTF-8") +
"&" + PASSWORD + "=" + URLEncoder.encode(password, "UTF-8");
RequestBody requestBody = RequestBody.create(FORM_DATA_TYPE, post_data);
Request request = new Request.Builder()
.url(URL)
.post(requestBody)
.build();
client.newCall(request).execute();
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
我做错了什么? Android应用程序似乎成功提交数据,但是当我检查Google表单时,没有输入数据?... 请帮忙!
答案 0 :(得分:2)
当我应该使用FormBody时,我正在使用RequestBody ...
FormBody formBody = new FormBody.Builder()
.add(USERNAME, usr)
.add(PASSWORD, pwd)
.build();
糟糕!现在该程序工作lol