【问题标题】:OKHTTP3 POST FORM android application doesn't post anything to Google FormsOKHTTP3 POST FORM android 应用程序不会向 Google 表单发布任何内容
【发布时间】:2016-07-13 03:11:10
【问题描述】:

我已阅读并理解此网页中的以下代码,作为开发我的 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应用程序似乎提交数据成功,但是当我检查谷歌表单时,没有输入数据?... 请帮忙!

【问题讨论】:

    标签: java android google-forms okhttp3


    【解决方案1】:

    当我应该使用 FormBody 时,我正在使用 RequestBody...

                FormBody formBody = new FormBody.Builder()
                    .add(USERNAME, usr)
                    .add(PASSWORD, pwd)
                    .build();
    

    哎呀!现在程序可以运行了,哈哈

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多