2011-01-17 25 views
6

jQueryとJSONを使用してvimeoビデオのサムネイルを取得する方法は、似たような質問はありませんでした。誰かがそれが偉大になるのを助けることができるなら、ここに私が持っているものがありますが、それは現時点では何も示していません。jQueryを使用してビデオのVimeoサムネイルを取得

var vimeoVideoID = '17631561'; 
var videoCallback = 'showThumb'; 

$.getJSON('http://www.vimeo.com/api/v2/video/' + vimeoVideoID + '.json?callback=' + videoCallback, 

function(data){ 
$(".thumbs").attr('src',data[0].thumbnail_large); 
}); 

ありがとうございます。

+0

私は同意すると、jQueryは本当に最高です。それはあらゆる種類のブラウザの問題を解決してくれます。 – goat

+0

私は唯一の人ではありません:)答えを得るのに役立つかもしれないので、できれば質問を投票してください。 –

答えて

29

same origin policy」の問題があると思います。あなたは、 "file_get_contents"や "fopen"のようなものを使ってサーバーサイドスクリプトを書くことを検討して、vimeoからデータを取得し、jsonに変換し、素晴らしいajax呼び出しでJavaScriptに出力することができます。

サーバーサイドスクリプトを使用しないようにするには、データ型JSONPを使用します。

var vimeoVideoID = '17631561'; 

$.getJSON('https://www.vimeo.com/api/v2/video/' + vimeoVideoID + '.json?callback=?', {format: "json"}, function(data) { 
     $(".thumbs").attr('src', data[0].thumbnail_large); 
}); 

URLは使用方法とは少し異なります。 varとして定義したコールバックは不要です。 getJSONを関数に直接接続しているので、url '?'に 'callback'を呼び出します。これは、getJSON関数に、成功したデータの戻り値を指定された関数に渡すように通知します。

私のコードhereをテストすることができます。それが役に立てば幸い!

+0

私はそれについてどうやって行くべきか分かりません。それは過度で不必要なようです。それは私が考えるイメージのための単純なjson要求であるべきですが、とにかく情報のためのあなたの権利のおかげです。 –

+1

サーバーサイドスクリプトを使用したくない場合は、おそらくJSON over JSONの使用を検討してください。 http://en.wikipedia.org/wiki/JSON#JSONP http://vimeo.com/api/docs/response-formats#jsonp これは、サーバーサイドスクリプトの必要性を回避し、あなたが好きなことをすることができます。私はウィキペディアのページにリンクしているので、欠点があります。お役に立てれば! – Lance

+0

よく聞こえますが、JSONPで動作するように質問のコードを修正するにはどうすればいいですか? –

-1

this pageをご覧ください。 Vimeoは新しいメソッドの呼び出しoEmbedを持っています。これはVimeoが新しいoEmbedテクノロジを採用しているためです。

上記の方法は、IEでは失敗します(親指は表示されません)。

関連する問題