Java 在Youtube HTTP请求中指定空格字符
以下是我向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(" ","+")+"
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();
}