2016-09-19 4 views
0

Youtube JS API에 대한 검색 쿼리에 순서를 추가하고 싶지만 제대로 작동하지 않습니다.Youtube JS API cuePlaylist 필터링

이 브라우저

https://www.youtube.com/results?search_query=test 

이 동일한 검색을 수행하는 스크립트의 일부를 사용하고 있지만

player.cuePlaylist({listType:'search', list:'test'}); 

그것을 테스트 플레이어를 사용하여 표준 검색하고 완벽하게 작동합니다. 그러나 검색 쿼리에 주문을 추가하려고 할 때. 작동하지 않습니다.

예를 들어 추가 필터 "오늘"으로 테스트를 검색합니다. IT가 작동하지 않습니다 (재생 목록이 빈 배열 임).

브라우저 검색

https://www.youtube.com/results?sp=CAESAggC&q=test 

이 그러나

player.cuePlaylist({listType:'search', list:'sp=CAESAggC&q=test'}); 

가 결과를 산출하지 않습니다이다. documentation 상태 : (공백)없이하지만 여전히 주사위

If the listType property value is search, then the list property specifies the search query. 

난 & M 행 (P)으로 대체하려 &.

또한 필터링 관련 내용을 찾을 수 없습니다.

기본적으로 질문은 어떻게 필터링을 cuePlaylist 메소드에 적용할까요?

편집 : cuePlaylist 필터링을 지원하지만, 내가 제안 할 수있는 가장 가까운 사용하는 경우

player.cuePlaylist({listType:'search', list:'test', sp:'CAESAggC'}); 

SP가 잘 모르겠어요 아무것도에게

답변

1

하지 않았다 :

이 시도 검색 기능

type: 'GET', 
data: { 
key: 'API_KEY', 
q: query, 
part: 'snippet' 
} 
}) 

다음은 필터로 정렬하여 추가 할 수 있습니다 추가 정보는 Search 문서를 참조하십시오. 여기

그것을 위해 코드 조각입니다 :

여기
// search video 
$("#search").click(function() { 
var query = $("#query").attr("value"); 
if (!query) { 
return; 
} 
$.ajax({ 
url: 'https://www.googleapis.com/youtube/v3/search', 
dataType: 'json', 
type: 'GET', 
data: { 
key: 'AIzaSyBda8mhaE8x10RiF0uzvBMPUszbUIQsy0g', 
q: query, 
part: 'snippet' 
} 
}).done(function(data) { 
player.stopVideo(); 
player.clearVideo(); 
$('#video').fadeIn(); 
var videos = []; 
console.log(data); 
$.each(data.items, function() { 
console.log(this.id.videoId) 
videos.push(this.id.videoId); 
}); 
// sort by favorite 
videos = videos.sort(function(a, b) { 
return b.favoriteCount - a.favoriteCount; 
}); 
player.cuePlaylist(videos); 
}); 
}); 
}); 

snippet에 대한 소스입니다, 나는 github에이 API v2가 사용되기 때문에 tutorial를 사용하여 일부 조정했다.

희망이 도움이됩니다.

+0

많은 분들께서 주문을 추가하셔야합니다. 최근 업로드 한 동영상 (예 : '날짜')을 먼저 표시합니다. 비디오 정렬이 필요하지 않습니다 (어쨌든). 또한 동영상에는 문자열이 포함되어있어 favoriteCount가 의미하는 바가 확실하지 않은 ID가 포함되어 있습니다. –