1 00:00:00,033 --> 00:00:08,615 안녕하세요 Jeff Fisher입니다. YouTube API 를 사용한 동영상 검색법에 대해 말씀드리겠습니다. 2 00:00:08,615 --> 00:00:12,600 YouTube에하는 일반적인 작업은 동영상을 검색하는 것입니다. 3 00:00:12,600 --> 00:00:15,906 동영상 피드를 사용하여 API로 비디오를 검색합니다. 4 00:00:15,906 --> 00:00:20,500 "q" 파라미터를 사용하여 검색어를 명시합니다. 5 00:00:20,500 --> 00:00:24,800 좀 더 복잡한 검색어는 URL escape 처리로 명시할 수 있습니다. 6 00:00:24,800 --> 00:00:27,800 API에는 다양한 버전에 있는데, 7 00:00:27,800 --> 00:00:34,412 "v" 파라미터나 특수 헤더로 버전을 명시할 수 있습니다. 8 00:00:34,412 --> 00:00:39,474 YouTube에는 "cute puppy" 동영상이 많기 때문에 모든 검색 결과를 한꺼번에 처리하고 싶지 않으시죠. 9 00:00:39,474 --> 00:00:44,675 "max-results" 파라미터로 갯수를 명시할 수 있습니다. 10 00:00:44,675 --> 00:00:48,567 한번에 10개를 원하면서 10 페이지까지 원할수도 있죠. 11 00:00:48,567 --> 00:00:53,986 rel="next"로 세팅된 link 엘리먼트에 API로 리턴된 피드를 볼 수 있습니다. 12 00:00:53,986 --> 00:00:58,400 이는 다음 결과 페이지에 대해서 알려주며 피드를 통해서 페이징 하는 올바른 방법입니다. 13 00:00:58,400 --> 00:01:04,400 "next"링크를 보면, "start-index" 파라미터가 있는데, 이것은 다음 페이지의 시작을 알려줍니다. 14 00:01:04,400 --> 00:01:10,844 하지만 이 파라미터를 매뉴얼하게 세팅해서는 안되며 대신 피드로부터 "next"값을 extract하도록 합니다. 15 00:01:10,844 --> 00:01:15,633 YouTube API를 사용할 수 있는 다른 쿼리 파라미터들에 대해서 알아보겠습니다. 16 00:01:15,633 --> 00:01:21,933 첫째, "orderby"에 대해서 알아보겠습니다. 디폴트로 결과는 관련 순서로 리턴이 됩니다. 17 00:01:21,933 --> 00:01:28,800 하지만 주회수, 평가점수, 게시일 등의 순서로 리턴되게 할 수도 있습니다. 18 00:01:28,800 --> 00:01:34,467 "author" 파라미터로 특정 YouTube 사용자가 게시한 모든 동영상을 검색할 수도 있습니다. 19 00:01:34,467 --> 00:01:37,767 업로드 피드를 받는 것과 동일한 작업입니다. 20 00:01:37,767 --> 00:01:41,936 API 버전 2 에서는 위치기반 검색을 추가했습니다. 21 00:01:41,936 --> 00:01:49,300 위도와 경도 정보를 입력하여 해당 위치 근방에서 발생한 동영상을 찾을 수 있죠. 22 00:01:49,300 --> 00:01:52,710 다수의 동영상이 '런던'과 같은 위치 설명만을 가지고 있기 때문에 23 00:01:52,710 --> 00:01:58,538 분명한 위도, 경도 정보를 가진 동영상이 리턴되기를 원한다면 24 00:01:58,538 --> 00:02:02,508 감탄부호(!)를 쿼리에 추가하세요. 25 00:02:02,508 --> 00:02:10,033 임베디드 가능한 동영상만을 보려면 "format" 파라미터를 사용합니다. 26 00:02:10,033 --> 00:02:14,400 특정 언어로 된 결과만을 원한다면 language restrict를 사용할 수 있습니다. 27 00:02:14,400 --> 00:02:21,667 참고로 이는 단지 동영상 메타데이타이며 오디오 트랙 언어는 아닙니다. 28 00:02:21,667 --> 00:02:24,733 safeSearch 값도 명시할 수 있는데, 디폴트는 보통값 "moderate"입니다. 29 00:02:24,733 --> 00:02:31,967 하지만 제한된 컨텐츠를 필터링하기 위해 "strict" 또는 "none"을 설정할 수도 있습니다. 30 00:02:31,967 --> 00:02:34,200 어떤 동영상은 특정 지역에서 재생되지 않습니다. 31 00:02:34,200 --> 00:02:38,967 국가 코드나 IP 주소를 넘겨줘서 사용자의 지역을 명시할 수 있습니다. 32 00:02:38,967 --> 00:02:41,309 IP 주소를 넘기는 경우 국가 코드를 확인할 수 있습니다. 33 00:02:41,309 --> 00:02:46,167 이는 재생할 수 없는 동영상을 걸러내어 사용자 경험을 개선하기 위한 것일 뿐임을 참고하세요. 34 00:02:46,167 --> 00:02:52,333 이 파라미터를 사용한다고 해서 재생할 수 있는 동영상에 영향을 주지 않습니다. 35 00:02:52,333 --> 00:02:57,267 YouTube에는 Comedy, News, Politics 등 다양한 동영상 카테고리가 있습니다. 36 00:02:57,267 --> 00:03:03,933 Comedy 카테고리 안에 있는 동영상만을 원한다면 "category" 파라미터를 사용하시면 됩니다. 37 00:03:03,933 --> 00:03:08,709 다른 Google Data API에 익숙하다면 아래와 같은 구문을 사용할 수 있습니다. 38 00:03:08,709 --> 00:03:18,300 "puppy"라는 태그를 가지고 있는 모든 동영상 검색과 같이 태그 검색을 하고 싶으시면 동일한 메카니즘을 이용하세요. 39 00:03:18,300 --> 00:03:23,667 동영상 카테고리는 대문자로 시작합니다. 반면 태그는 소문자로 시작하구요. 40 00:03:23,667 --> 00:03:27,867 다시 말하면 위의 검색은 Comedy 카테고리에 있는 모든 동영상 검색이고 41 00:03:27,867 --> 00:03:33,233 아래는 "comedy"라는 태그를 가지고 있는 동영상 검색입니다. 42 00:03:33,233 --> 00:03:37,433 우리가 다루었던 다른 쿼리 파라미터들을 조합해서 사용할 수도 있습니다. 43 00:03:37,433 --> 00:03:41,733 예를 들어, 외부 웹페이지에 임베디드 가능한 Comedy 카테고리에 있는 44 00:03:41,733 --> 00:03:47,718 고양이(kitten) 동영상을 검색하고자 한다면 이 쿼리를 사용할 수 있습니다. 45 00:03:47,718 --> 00:03:52,000 YouTube는 또한 인기있는 동영상 리스트를 제공합니다. 46 00:03:52,000 --> 00:03:55,334 스탠다드 피드(standard feeds)로 알려져 있는데, 47 00:03:55,334 --> 00:04:01,633 최상위 평가 점수, 최다 조회수, 최다 댓글수 등이 있습니다. 48 00:04:01,633 --> 00:04:06,367 최상위 평가 점수 동영상 중에서 "time" 파라미터를 사용하여 금주에 게시된 동영상을 검색할 수도 있습니다. 49 00:04:06,367 --> 00:04:13,533 최상위 평가 점수 동영상 중에서 이번 달이나 오늘 게시된 동영상도 볼 수 있습니다. 50 00:04:13,533 --> 00:04:21,200 최상위 평가 점수를 받은 동영상 중에서 Comedy와 같이 특정 카테고리 안에 있는 동영상을 볼 수도 있습니다. 51 00:04:21,200 --> 00:04:25,033 앞서 다뤘던 "category" 파라미터 사용과는 차이가 있음을 주의하세요, 52 00:04:25,033 --> 00:04:29,700 상단의 피드는 Comedy 카테고리 내에 있는 평가 상위 100개 동영상입니다. 53 00:04:29,700 --> 00:04:38,533 반면 하단은 YouTube에 있는 평가 상위 100개 동영상 중에서 Comedy 카테고리에 속한 것들 입니다. 54 00:04:38,533 --> 00:04:48,276 일본에서 평가 상위에 있는 Comedy 동영상과 같이 지역에 따라 다른 스탠다드 피드를 볼 수도 있습니다. 55 00:04:48,276 --> 00:04:51,167 YouTube API 사용에 많은 흥미를 가지시길 기대합니다. 56 00:04:51,167 --> 00:04:56,867 하지만 시작에 앞서, 몇 가지 주의 사항을 말씀드리겠습니다. 57 00:04:56,867 --> 00:05:04,300 비디오 검색 피드에서 1000개 이상을 검색할 수 없습니다. YouTube.com에서와 마찬가지죠. 58 00:05:04,300 --> 00:05:07,339 openSearch totalResults 값은 근사치입니다. 59 00:05:07,339 --> 00:05:14,133 그래서 페이지 번호를 매뉴얼하게 매겨선 안됩니다. 대신 "next" 링크를 사용하시면 됩니다. 60 00:05:14,133 --> 00:05:18,100 앞서 cute puppy 동영상을 검색했던 예제로 돌아가봅시다. 61 00:05:18,100 --> 00:05:23,454 YouTube는 거대한 동영상 웹사이트이기 때문에 검색 정보는 캐시에 저장된 정보일 수 있습니다. 62 00:05:23,454 --> 00:05:28,133 이는 가장 최근 업로드된 cute puppy 동영상은 검색 결과에 표시되지 않을 수도 있다는 뜻이죠. 63 00:05:28,133 --> 00:05:32,033 이는 또한 동영상 제목과 설명과 같은 정보가 64 00:05:32,033 --> 00:05:35,970 검색 목록에 업데이트되기까지 한두 시간 소요될 수도 있다는 뜻입니다. 65 00:05:35,970 --> 00:05:43,100 또한 조회수나 선호도 등의 해당 동영상의 통계가 최신 정보가 아닐 수도 있습니다. 66 00:05:43,100 --> 00:05:50,367 또한 private 에서 public으로 공개 여부가 바뀐 경우 검색 목록에 들어가는데 더 오랜 시간이 걸릴 수도 있습니다. 67 00:05:50,367 --> 00:05:55,233 정보를 받고자 하는 동영상의 ID를 알고 있는 경우라면 68 00:05:55,233 --> 00:06:01,467 YouTube에서 동영상을 검색하는것과 유사하게 이것도 캐시에 저장된 정보일 것입니다. 69 00:06:01,467 --> 00:06:07,572 또한 사용자로서 승인되지 않았을 때 업로드 피드를 통해서 정보를 받으려고 하는 경우에도 마찬가지입니다. 70 00:06:07,572 --> 00:06:16,267 하지만 승인된 경우라면 캐시로 저장되지 않은 정보를 받을 것이고 이 정보는 최신입니다. 71 00:06:16,267 --> 00:06:20,167 또한 사용자로서 승인을 받은 상태로 업로드 피드를 받는 다면 72 00:06:20,167 --> 00:06:25,382 캐시로 저장되지 않은 정보를 받게 될 것입니다. 73 00:06:25,382 --> 00:06:30,900 이는 YouTube가 가지고 있는 최신 정보를 받는 다는 뜻이죠. 그 정보는 게시 시간 순서에 따라 정렬될 것입니다. 74 00:06:30,900 --> 00:06:34,600 하지만 해당 피드에 "orderby"와 같은 쿼리 파라미터를 추가하면 75 00:06:34,600 --> 00:06:41,078 인증이 되었다 하더라도, 결과는 캐시로 저장이 됩니다. 76 00:06:41,078 --> 00:06:46,133 캐싱 프로세스에 영향을 주지 않는 쿼리 파라미터는 start-index와 max-results 입니다. 77 00:06:46,133 --> 00:06:50,133 따라서 피드를 통해서 페이지 처리를 할 수 있는 것이죠. 78 00:06:50,133 --> 00:06:52,533 저희가 제공하는 클라이언트 라이브러리를 사용하고 계시다면 79 00:06:52,533 --> 00:06:56,845 YouTube의 검색 쿼리를 만드는 데 도움이 되는 오브젝트와 메소드가 있습니다. 80 00:06:56,845 --> 00:07:01,000 자세한 내용은 클라이언트 라이브러리용 문서를 확인하세요. 81 00:07:01,000 --> 00:07:07,300 이 동영상에서 다룬 모든 정보는 code.google.com에 있는 문서에서 확인하실 수 있습니다. 82 00:07:07,300 --> 99:59:59,999 감사합니다.