예제

안녕하세요 촌놈입니다. Youtube를 가져오는 예제를 한번 알아 봤습니다. 버전은 V3 입니다.

 

절차

  1. 구글로그인
  2. 구글콘솔 > API > 생성 API 복사
  3. https://developers.google.com/youtube/v3/docs/search/list?hl=ko 을 통하여 자신이 원하는 형태의 API 구성
String googleAPIKey2 = "API키";
java.util.ArrayList<java.util.Map<String, String>> temp2Array = temp1.getYouTubeSearch("https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&type=video&channelId=채널값&maxResults=5&key=" + googleAPIKey2);
for (Map<String, String> map : temp2Array) {
	System.out.println(map.get("title"));
}

public java.util.ArrayList<java.util.Map<String, String>> getYouTubeSearch(String strUrl) {
	java.util.ArrayList<java.util.Map<String, String>> uRtnArray = new java.util.ArrayList<java.util.Map<String, String>>();
	
	try {
		java.net.URL url = new java.net.URL(strUrl);
		java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection();
		conn.setDoOutput(true);
		conn.setRequestMethod("GET");
		conn.setRequestProperty("Content-Type", "application/json");
		conn.setRequestProperty("Accept-Charset", "UTF-8");
		conn.setConnectTimeout(3000);
		conn.setReadTimeout(3000);

		String inputLine = "";
		StringBuffer outResult = new StringBuffer();
		java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream(), "UTF-8"));
		while ((inputLine = in.readLine()) != null)
			outResult.append(inputLine);
		conn.disconnect();

		org.json.JSONObject youtubeJSON = new org.json.JSONObject(outResult.toString());
		if (youtubeJSON.getJSONArray("items").length() == 0)
			return uRtnArray;
		
		org.json.JSONArray items = youtubeJSON.getJSONArray("items");
		for (Object item : items) {
			org.json.JSONObject itemDtl = (org.json.JSONObject)item;
			
			java.util.Map<String, String> uRtn = new java.util.HashMap<String, String>();
			uRtn.put("title", itemDtl.getJSONObject("snippet").getString("title"));
			uRtn.put("videoId", itemDtl.getJSONObject("id").getString("videoId"));
			uRtn.put("thumbnails", itemDtl.getJSONObject("snippet").getJSONObject("thumbnails").getJSONObject("high").getString("url"));
			uRtn.put("publishedAt", itemDtl.getJSONObject("snippet").getString("publishedAt").substring(0, 10).replaceAll("[-]", "."));
			uRtnArray.add(uRtn);
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	
	return uRtnArray;
}

연동을 해보니 0.5초 정도가 소요 되는 것 같네요.

감사합니다.


블로그 이미지

촌놈 개발자 일기

개발자로서 살아가는 느낌과 정보를 공유 합니다

,