谷歌自定义搜索引擎android不接受%20或空格

时间:2013-05-10 02:49:28

标签: java android google-custom-search

编辑2

发现我的错误我传递了无效的无效参数只是重新编号我试着用的东西。

抱歉麻烦GUYS

我第一次使用谷歌自定义搜索引擎,到目前为止一切都很好。但是,当我尝试为具有空白区域的项目发送查询时,搜索引擎会返回错误的请求响应,例如

    myUrl = (CustomSearchEngineURL + API_KEY + "&cx=" + cxKey + "&q="
            + q.replace(" ", "%20") + "&searchType=" + searchType
            + "&imgType=" + imgType + "&imgSize=" + imgSize + "&num=20&alt=json");

返回此

 com.google.api.client.http.HttpResponseException: 400 Bad Request

修改

我接受了323go的建议并尝试编码我的q,这就是我实现它的方式

String encodedParms = null;
    try {
        encodedParms = URLEncoder.encode(q, "UTF-8");
    } catch (UnsupportedEncodingException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    myUrl = (CustomSearchEngineURL + API_KEY + "&cx=" + cxKey + "&q="
            + encodedParms + "&searchType=" + searchType + "&imgType="
            + imgType + "&imgSize=" + imgSize + "&num=20&alt=json");

    Log.d(Tag, myUrl);

    HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);

    HttpRequest request;
    try {
        request = httpRequestFactory.buildGetRequest(new GenericUrl(myUrl));
        String response = streamToString(request.execute().getContent());
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

在我的日志中,我将其作为网址

https://www.googleapis.com/customsearch/v1?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-w&cx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&q=Sunway+Lagoon+Theme+Park&searchType=image&imgType=photo&imgSize=xxlarge&num=20&alt=json

我仍然遇到同样的错误请求错误

请有人能告诉我我在做什么吗

1 个答案:

答案 0 :(得分:0)

为什么不在单词之间添加“+”,我有同样的问题 使用“word1 word2” - 响应400 - 错误请求
使用“word1 + word2” - 响应2000 - 错误请求