Я работаю над виртуальным помощником, используя wit.ai в Java, но я застрял, выполняя HTTP-запрос. Я не профессионал в HTTP-запросах на Java, и все время получаю ошибку 400.
Это мой код:
public class CommandHandler {
public static String getCommand(String command) throws Exception {
String url = "https://api.wit.ai/message";
String key = "TOKEN HERE";
String param1 = "20141022";
String param2 = command;
String charset = "UTF-8";
String query = String.format("v=%s&q=%s",
URLEncoder.encode(param1, charset),
URLEncoder.encode(param2, charset));
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setRequestProperty ("Authorization Bearer", key);
connection.setRequestProperty("Accept-Charset", charset);
InputStream response = connection.getInputStream();
return response.toString();
}
}
Вот пример, который дает wit.ai:
$ curl \
-H 'Authorization: Bearer $TOKEN' \
'https://api.wit.ai/message?v=20141022&q=hello'
Я надеюсь, что кто-то может мне помочь
Authoritation: Bearer [value]
, а в javaAuthorization Bearer: [value]
(при условии, что иTOKEN
, иkey
установлены правильно). Тем не менее, вы можете напечататьurl + "?" + query
, чтобы увидеть, есть ли еще какие-либо различия (хотя я бы сказал, что их нет). - person SJuan76   schedule 12.02.2016connection.setRequestProperty ("Authorization", "Bearer " + key);
- person Julian   schedule 12.02.2016