Android Volleyライブラリを使用してJSON Postリクエストを送信しようとしていますが、JSONの本体を取得していないようで、Webサーバー上で未定義のbodyパラメータがあります。私はjsonのパラメータ本体が単一のオブジェクト "name = someVal & comment = someOtherVal"である必要があります。名前とコメントはキーで、someValとsomeOtherValは値です。Androidボレーを使用してBody with JSON Postを送信
String spreadsheetID = "1111111-11111N92RT9h-11111111111111111111111111111";
String url = "https://script.google.com/macros/s/" + spreadsheetID + "/exec";
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
// Request a string response from the provided URL.
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("JSONPost", response.toString());
//pDialog.hide();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("JSONPost", "Error: " + error.getMessage());
//pDialog.hide();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("name=someVal&comment=someOtherVal");
//params.put("comment", "someOtherVal");
return params;
}
};
// Add the request to the RequestQueue.
queue.add(jsonObjReq);
}
私も上記のコードでこれを試みたが、運:
params.put("comment", "someOtherVal");
params.put("name", "someVal");
運がまだありません。しかし、ありがとう。 – Amir
私はこの問題を抱えていましたが、私が試した唯一の解決策は、ライブラリを変更することです。私はボレーの代わりに改造を使用しました。すべてがうまくいきます。 –
私はアクチュアリーがURL接続ライブラリで試してみました。 – Amir