调用wit.ai API时Android Volley请求失败

时间:2019-01-25 15:43:36

标签: android rest android-volley wit.ai

我正在尝试使用wit.ai的语音识别REST API服务

我已经使用Volley将POST请求发送到URL 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);
}

我在com.android.volley.ClientError方法内的wit_response日志键上收到onErrorResponse()的错误

我没有错过内容类型和授权标头,并且我的sendToByte函数成功返回了一个转换为字节数组的mp3文件。

出了什么问题?

1 个答案:

答案 0 :(得分:0)

我必须使用此链接https://gist.github.com/anggadarkprince/a7c536da091f4b26bb4abf2f92926594

并按照本文档所述使用MultiPartRequest类上传我的文件。

如果您需要任何帮助(针对所有未来的人们),请在此处评论