Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Youtube HTTP请求中指定空格字符_Java_Http_Youtube_Youtube Data Api - Fatal编程技术网

Java 在Youtube HTTP请求中指定空格字符

Java 在Youtube HTTP请求中指定空格字符,java,http,youtube,youtube-data-api,Java,Http,Youtube,Youtube Data Api,以下是我向Youtube发出HTTP数据请求的代码: String apiKey =MY_KEY; //variable input contains search keyword String query = ""; if(input.contains(" ")) query = "https://www.googleapis.com/youtube/v3/search?part=snippet&q="+input.replace(" ","+")+"

以下是我向Youtube发出HTTP数据请求的代码:

 String apiKey =MY_KEY;
//variable input contains search keyword
    String query = "";
    if(input.contains(" "))
        query = "https://www.googleapis.com/youtube/v3/search?part=snippet&q="+input.replace(" ","+")+"&type=video&videoCaption=closedCaption&key="+apiKey;
    else
        query = "https://www.googleapis.com/youtube/v3/search?part=snippet&q="+input+"&type=video&videoCaption=closedCaption&key="+apiKey;
    try {
        response = makeHTTPRequest.sendGet(query);
    }
    catch (Exception e){
        e.printStackTrace();
    }

    System.out.println("Youtube results : "+response);
因此,我试图用+符号替换关键字中的空格字符,例如Electronics City。这是错的吗?应该进行哪些更改,以仅获取电子城的搜索结果,而不仅仅是电子城或城市的搜索结果

目前,我正在获取电子城和电子城的搜索结果。

您需要输入某些字符。幸运的是,你可以通过这样做

try {
    String query = String.format("https://www.googleapis.com/" //
                + "youtube/v3/search?part=snippet&q=%s&type=video&" //
                + "videoCaption=closedCaption&key=%s", URLEncoder.encode( //
            input, "UTF-8"), URLEncoder.encode(apiKey, "UTF-8"));
    response = makeHTTPRequest.sendGet(query);
    System.out.printf("Youtube results : %s%n", response);
} catch (Exception e) {
    e.printStackTrace();
}