1

モバイル (iOS UIWebView) で再生できない動画を除外するための適切な GTLQueryYouTube パラメータを見つけようとしています。videoEmbeddable および videoSyndicated パラメータは制限が厳しすぎます (すべての VEVO ビデオを除外します)。

iOS アプリでは、GTLQueryYouTube を介して YouTube 動画を検索し、videoEmbeddable パラメーターと videoSyndicated パラメーターを空白のままにします。

これは、通常 UIWebView で再生可能な Vevo ビデオを返します。たとえば、「Rihanna - Diamonds」(lWA2pjMjpBs) は再生可能です。埋め込みビューでは再生できません。

ただし、一部の動画は再生できません。たとえば、「Lana Del Rey - Gods and Monsters」(3BwfuFuYOWE) は UIWebView では再生できません。YouTube ページが読み込まれますが、ビデオを再生する代わりに、「コンテンツ所有者はこのビデオをモバイルで利用できるようにしていません」というエラーが表示されます。

検索時に、これらの再生できないビデオを除外したいと考えています。GTLQueryYouTube APIは、「videoEmbeddable」と「videoSyndicated」のフィルタリングのみをサポートします。どちらも、Lana Del Rey ビデオを正しくフィルタリングせず Rihanna ビデオを残します。

これらの種類のビデオを除外するためのフィルター パラメーターが欠落しているようです。メタデータを調べても、Rihanna と Lana Del Rey のビデオに顕著な違いは見られません。

アイデア?

4

2 に答える 2

2

残念ながら、一般に、API を使用してすべての再生制限を決定する方法はありません。API v2 のガイドはhttp://apiblog.youtube.com/2011/12/understanding-playback-restrictions.htmlにありますが、v3 の同様のリソースはまだありません。

(videoEmbeddable および videoSyndicated) 検索制限を使用することをお勧めします。これが設計されているためです。1 つの方法は、ユーザーを m.youtube.com に誘導して、サード パーティのアプリで制限されている動画を再生することです。または、コンテンツの所有者に連絡して、コンテンツの構成を変更するよう説得することもできます (これは YouTube が実施しているが、構成はしていないためです)。

あなたが具体的にリストしたビデオについて:

  1. lWA2pjMjpBs では自動再生が無効になっているため、表示されている問題を説明できる可能性があります: http://gdata.youtube.com/feeds/api/videos/lWA2pjMjpBs?v=2&prettyprint=true。v3 レスポンスではまだ自動再生制限を返しませんが、それについてはチームにフォローアップします。
  2. 3BwfuFuYOWE のシンジケーションは無効になっています。v2 ではhttp://gdata.youtube.com/feeds/api/videos/3BwfuFuYOWE?v=2&prettyprint=trueで確認できますが、v3 では検索制限を介してのみ公開します。これについてもチームにフォローアップしますので、videos.list の応答で確認しやすくなります。
于 2013-07-02T22:03:22.023 に答える
0

考えられる解決策の 1 つ (確かに、あまり洗練されていません) は、次の 2 つのGTLQueryYouTube呼び出しを行うことです。

  1. videoSyndicatedオフ (または に設定all): の説明フィールドでキーワード「VEVO」を検索し、GTLYouTubeSearchResultSnippet上位の検索結果を返します。

  2. videoSyndicatedon (に設定true): 最適な検索結果 (選択した適切なフィルターを使用)。

最初のクエリが null の結果を返す場合は、VEVO ビデオがないと見なし、次に再生可能なビデオ (2) を使用します。

于 2014-07-05T19:03:30.327 に答える