2012-04-06 3 views
0

Здравствуйте, я устарел от API Google Picker (http://code.google.com/apis/picker/). У меня есть рабочая демонстрация (код ниже), который ищет фильмы на YouTube.Google Picker API: фильтровать фильмы на YouTube

Эта текущая версия возвращает все видео. Я пытаюсь отфильтровать результаты, чтобы они отображали только результаты поиска на youtube.com. API-подборщик поддерживает это. Но я не понимаю документацию API.

В документации (http://code.google.com/apis/picker/docs/reference.html) упоминается «VideoSearchView.YOUTUBE» и описывается как «Строковая константа, подходящая для метода VideoSearchView.setSite() ».

Я не понимаю, как реализовать этот фильтр в моем коде ниже. Любая помощь приветствуется.

<!-- 
Needs work; it should only display YouTube videos. 

http://code.google.com/apis/picker/docs/reference.html 

Change the key parameter for a domain+path specific API key. Get one here: http://code.google.com/apis/loader/signup.html. 
--> 
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAANAaPTI0Sup-knGFaDbCNHBSXhCTdTCKo5q_OHnpA1qEpBIP8mRTtPnObFFbe_J21oviL78C86yxHUA"></script> 
<script type="text/javascript"> 
    google.load('picker', '1', {'language':'nl'}); 

    function googlePicker() 
    { 
     /* 
     Displays the users own YouTube movies: 
     picker = picker.addView(google.picker.ViewId.YOUTUBE); 

     Displays all videos: 
     picker = picker.addView(google.picker.ViewId.VIDEO_SEARCH); 

     Displays all videos from youtube.com: 
     ??? 

     Example query that returns non-YouTube results: "Mobile Healing Rooms: Following Jesus on Vimeo" 
     */ 

     var picker = new google.picker.PickerBuilder(); 
     picker = picker.addView(google.picker.ViewId.VIDEO_SEARCH); 
     picker = picker.enableFeature(google.picker.Feature.NAV_HIDDEN); 

     picker = picker.setTitle('Selecteer een YouTube video'); 
     picker = picker.setCallback(googlePickerCallback); 
     picker = picker.build(); 
     picker.setVisible(true); 
    } 

    function googlePickerCallback(data) { 
     var youTubeUrl = (data.action == google.picker.Action.PICKED) ? data.docs[0].url : ''; 

     if (youTubeUrl != '') 
     { 
      $('#block_youtube_url').val(youTubeUrl); 
     } 
    } 
</script> 

ответ

1

Попробуйте эквивалент следующее:

// Create and render a Picker object for searching YouTube videos. 
function createPicker() { 
    var picker = new google.picker.PickerBuilder(). 
     addView(new google.picker.VideoSearchView(). 
      setSite(google.picker.VideoSearchView.YOUTUBE)). 
     setCallback(pickerCallback). 
     build(); 
    picker.setVisible(true); 
} 

Если добавить взгляды на ViewId, вы не получите возможность позвонить просматривать конкретные методы. Вот почему некоторые классы, связанные с представлением, отображаются.

+0

Большое спасибо! Очень приятное решение. Он даже добавляет логотип YouTube в интерфейс :) –

Смежные вопросы