0

こんにちは、私は Google Picker API (http://code.google.com/apis/picker/) を試しています。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>
4

1 に答える 1

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 でビューを追加すると、ビュー固有のメソッドを呼び出す機会がありません。これが、一部の View 派生クラスが公開されている理由です。

于 2012-04-06T15:22:55.373 に答える