我正在尝试从android更新google电子表格,并且这样做是使用google apps脚本和Volley 1.1.0(尽管我也用1.0.0对其进行了测试,并且显示了相同的结果)。 / p>
我拥有的非常简单的脚本已经在工作
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网页,甚至电子表格也没有更新。
此代码有什么问题?