подтвердить пароль пользователя на Android-приложение из OpenStack Keystone - PullRequest
0 голосов
/ 03 января 2019

я сослался на следующий пример OpenStack - подключение KeyStone к Android Project

Но вернул http / 1.1 400 неверный запрос.

Следующая строка неверна. я не могу использовать параметр json внутри StringEntity ()

StringEntity params1 = new   StringEntity(auth.toJSONString());

Можете ли вы сказать мне, почему мой код не работает?

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://x.x.x.x:5000/v3/auth/tokens");
JSONObject auth = new JSONObject();
JSONObject json = new JSONObject();
auth.put("auth", json);

JSONObject pCredentials = new JSONObject();
json.put("passwordCredentials:", pCredentials);
pCredentials.put("username", "user");
pCredentials.put("password", "password");


json.put("tenantName","weatherdata");

Log.i("TAG", "passing your data"+auth.toString());

StringEntity params1 = new   StringEntity(auth.toString());
params1.setContentEncoding("UTF-8");
params1.setContentType("application/json");

httppost.setHeader("Content-type", "application/json");

httppost.setEntity(params1);

// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
Log.i("TAG", "Server response is "+response);
...