Android 调用 wit.ai 时 Volley 请求失败 API
Android Volley request failing while making a call to wit.ai API
我正在尝试使用来自 wit.ai
的语音识别 REST API 服务
我已经使用 Volley 向 URL 发送了一个 POST 请求
https://api.wit.ai/speech
这是我目前所做的:
void makeApiCall(){
StringRequest request = new StringRequest(Request.Method.POST, "https://api.wit.ai/speech", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("wit_response",response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("wit_response",error.toString());
}
}){
@Override
protected Map<String,String> getParams() throws AuthFailureError{
Map<String,String> params = new HashMap<>();
params.put("Authorization","Bearer XXXXXX"); //hidden my token
params.put("Content-Type","audio/mpeg3");
return params;
}
@Override
public byte[] getBody() throws AuthFailureError {
return sendToByte();
}
};
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
queue.add(request);
}
我在 onErrorResponse()
方法
内的 wit_response 日志键上收到 com.android.volley.ClientError
错误
我没有错过内容类型和授权 header,我的 sendToByte 函数成功返回了一个转换为字节数组的 mp3 文件。
有什么问题?
我不得不使用这个 link https://gist.github.com/anggadarkprince/a7c536da091f4b26bb4abf2f92926594
并按照本文所述使用 MultiPartRequest class 上传我的文件。
如果您需要任何帮助,请在这里评论(对于所有未来的人)
我正在尝试使用来自 wit.ai
的语音识别 REST API 服务我已经使用 Volley 向 URL 发送了一个 POST 请求 https://api.wit.ai/speech
这是我目前所做的:
void makeApiCall(){
StringRequest request = new StringRequest(Request.Method.POST, "https://api.wit.ai/speech", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("wit_response",response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("wit_response",error.toString());
}
}){
@Override
protected Map<String,String> getParams() throws AuthFailureError{
Map<String,String> params = new HashMap<>();
params.put("Authorization","Bearer XXXXXX"); //hidden my token
params.put("Content-Type","audio/mpeg3");
return params;
}
@Override
public byte[] getBody() throws AuthFailureError {
return sendToByte();
}
};
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
queue.add(request);
}
我在 onErrorResponse()
方法
com.android.volley.ClientError
错误
我没有错过内容类型和授权 header,我的 sendToByte 函数成功返回了一个转换为字节数组的 mp3 文件。
有什么问题?
我不得不使用这个 link https://gist.github.com/anggadarkprince/a7c536da091f4b26bb4abf2f92926594
并按照本文所述使用 MultiPartRequest class 上传我的文件。
如果您需要任何帮助,请在这里评论(对于所有未来的人)