예제
안녕하세요 촌놈입니다. Youtube를 가져오는 예제를 한번 알아 봤습니다. 버전은 V3 입니다.
절차
- 구글로그인
- 구글콘솔 > API > 생성 API 복사
- 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초 정도가 소요 되는 것 같네요.
감사합니다.
'촌놈 - 취미로하는개발 > 자료실' 카테고리의 다른 글
내 공인 아이피 주소 조회 예제 (0) | 2018.11.06 |
---|---|
URL 인코딩, 디코딩 예제 프로그램 (0) | 2018.11.06 |