Я пытаюсь обновить электронную таблицу Google с Android, и для этого я использую скрипт приложений Google и Volley 1.1.0 (хотя я также тестировал его с 1.0.0, и он показывает те же результаты).
Очень простой скрипт, который у меня есть, уже работает
function doGet(request) {
var spreadsheetId = "1EjtSycgdAEIeBMzpphdBt-AgLPbxPD0HOK3GJUBJX8Y";
var sheetName = "Test";
var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
sheet.getRange(1, 1, 1, 1).setValue("Test");
return ContentService.createTextOutput(JSON.stringify({sheet:sheetName, spreadsheetId: spreadsheetId}));
}
Когда я запускаю его из браузера, он работает корректно.Значение листа меняется, и отображается Json.
Между тем, в моем приложении для Android этот код выполняется при нажатии кнопки
RequestQueue queue = Volley.newRequestQueue(this);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, scriptURL, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println("Response is: "+response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
queue.add(jsonObjectRequest);
Но это приводит к этой ошибке
W/System.err: com.android.volley.ParseError: org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
Я даже протестировал его, используя StringRequest вместо JsonObjectRequest, и он странным образом возвращает целую HTML-страницу, и даже в этом случае электронная таблица не обновляется.
В чем проблема с этим кодом?