【发布时间】:2019-01-25 15:43:36
【问题描述】:
我正在尝试使用 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 错误
我没有错过内容类型和授权标头,并且我的 sendToByte 函数成功返回了一个转换为字节数组的 mp3 文件。
有什么问题?
【问题讨论】:
-
您是否尝试过在 Postman 或 Restlet 等单独的 Rest 客户端中进行相同的 Post 调用?
标签: android rest android-volley wit.ai