Android.отправка POST-запроса в скрипт Google Sheet - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь отправить данные из Android в скрипт в электронной таблице Google с помощью запроса POST.Я не получаю ошибок, но запрос, похоже, не проходит.

Я попробовал некоторые из предоставленных решений здесь

Я попробовал скрипт с простымформа и это работает, но с Android это не похоже, что что-то даже пытается добраться до него.


Я использую 2 класса для этого, один расширяет AppCompatActivity, а другой расширяет AsyncTask

public class FormActivity extends AppCompatActivity {

// STUFF    

    private void sendData() {

        // Post Request

        int data1 = SOMEDATA1;
        int data2= SOMEDATA2;
        String sdata1 = Integer.toString(data1 );
        String sdata2 = Integer.toString(data2);

        String urlString = MYSCRIPTURL; // URL to call
        String data = "data1=" + data1 + "&data2=" + data2 ; //data to post

        MyAsyncTask myAsyncTask = new MyAsyncTask();
        myAsyncTask.execute(urlString, data);

    }
}

Это класс, который должен выполнять запрос POST

public class MyAsyncTask extends AsyncTask<String, String, String> {

    @Override
    protected String doInBackground(String... params) {
        String urlString = params[0]; // URL to call
        String data = params[1]; //data to post
        OutputStream out = null;
        try {
            URL url = new URL(urlString);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setDoOutput(true);
            urlConnection.setRequestMethod("POST");
            out = new BufferedOutputStream(urlConnection.getOutputStream());

            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
            writer.write(data);
            writer.flush();
            writer.close();
            out.close();

            urlConnection.connect();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

        return null;
    }

}

Я также добавил

   <uses-permission android:name="android.permission.INTERNET"></uses-permission>

в манифест.

Кажется, что все работает нормально до конца, но на стороне скрипта в журнале ничего не отображается.

Метод doInBackground в ответе на связанный вопрос недействителен, но только в Android Studioпринимает это как строку для меня.Помимо этого и нескольких дополнений код тот же.

РЕДАКТИРОВАТЬ: Я также пытался использовать GET, не работает.

...