代码之家  ›  专栏  ›  技术社区  ›  Fahad Saleem

Android截击请求在调用wit.ai API时失败

  •  0
  • Fahad Saleem  · 技术社区  · 6 年前

    我正在尝试使用来自wit.ai的语音识别RESTAPI服务

    我使用截击向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);
    }
    

    我收到一个错误消息 com.android.volley.ClientError 在wit_响应日志键内 onErrorResponse() 方法

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

    问题是什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Fahad Saleem    6 年前

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

    并使用本文所述的MultiPartRequest类上载我的文件。

    如果您需要任何帮助(面向所有未来的人),请在此处发表评论