Это моя первая попытка использования веб-API. Я пытаюсь реализовать этот PRIVO API для отображаемого имени https://github.com/Privo/PRIVO-Hub/wiki/Web-Services-API-Reference#update-user-display-name. Как вы можете видеть, примеров объяснений и примеров кода мало.HTTP GET или HTTP POST или HTTP PUT, Android
То, что я пытаюсь сделать, это использовать HTTP GET для получения действительного ответа, который указывает, что имя является правильным форматом, и затем я должен сохранить это отображаемое имя на наших серверах google. Мне нужна помощь только в первом тайме. Я выясню, как сохранить на облачных серверах позже.
Проблема, с которой я сталкиваюсь, заключается в том, что я не уверен, как это использовать HTTP GET, и я не уверен на 100%, что я не должен использовать POST или PUT. Это то, что я до сих пор, пожалуйста, дайте мне знать, что я делаю неправильно.
AsyncHttpClient client = null;
String authorizationHeader = "token_type", "" + " " + "access_token", "");
client.addHeader("Authorization", authorizationHeader);
client.addHeader("Content-type", "application/json");
client.addHeader("Accept", "application/json");
String requestBody = "displayName=" + "hardcodedDisplayName";
String requestURL = "https://privohub.privo.com/api/" + "account/public/saveDisplayName?" + requestBody;
client.get(requestURL, new ResponseHandler(myClass.this, "displayName", new OnResponseHandler() {
@Override
public void onSuccess(int statusCode, String apiName, JSONObject response) {
if (statusCode == 200) {
Log.i(TAG, "Seems to be working")
}
}
@Override
public void onFailure(int statusCode, String apiName, String responseMessage) {
Log.i(TAG, "Fail: " + responseMessage);
}
@Override
public void onFailure(int statusCode, String apiName, JASONArray errorResponse) {
Log.i(TAG, "Fail: " + errorResponse);
}
@Override
public void onFailure(int statusCode, String apiName, JSONObject errorResponse) {
if (errorResponse != null) {
Log.i(TAG, "Fail: " + errorResponse);
}
}
}));
Я получаю следующий ответ в результате приведенного выше кода
{ "сообщение": "Объект не найден", "validationErrors": [], "responseTimestamp": 1419278367177, "TOTALCOUNT" : -1, «status»: «failed», «resultCount»: - 1, «entity»: null)
Что означает этот ответ? Не удалось выполнить onFailure (int statusCode, String apiName, JSONObject errorResponse), а код ошибки - 404
Заранее спасибо!
Я вижу эту ошибку сейчас. Однако можете ли вы привести пример? Является ли методология похожей на GET? Могу я просто изменить, чтобы поставить, что я имею в виду? – portfoliobuilder
Да, client.put() должен работать. Возможно, это необходимо для кодирования параметра как объекта RequestParam вместо добавления к URL-адресу. – wvdz
Это мое первое занятие. Можете ли вы показать мне пример того, что вы подразумеваете под кодированием параметра как объекта RequestParam? – portfoliobuilder