12

クライアントアプリケーションに、埋め込みを許可しないビデオを除外させようとしています。<yt:accessControl>ここでの私の理解は、これを行うためにフィードを制限する方法はなく(つまり、format = 5では不十分)、タグとタグ<app:control>について、エントリのプロパティを自分でチェックする必要があるということ<yt:state>です。

これは私にはうまくいきません。

たとえば、次の動画: https ://www.youtube.com/watch?v=waxat-_tRH8

埋め込まない: https ://www.youtube.com/embed/waxat-_tRH8

APIが返したデータは、(私が知る限り)埋め込むことができるはずであることを示していますが、 https ://gdata.youtube.com/feeds/api/videos/waxat-_tRH8?v = 2

エントリには<yt:noembed>タグが含まれていません(前の質問を参照)。私は米国にいるため(前の質問を参照)これについては説明していません(前の質問を参照)<media:restriction type='country' relationship='deny'>ME DE RS</media:restriction>

ここで何が欠けていますか?

編集:上記の埋め込みリンクは私のWebブラウザーでは機能しますが、クライアントアプリのWebViewでは機能しません....!?

4

7 に答える 7

9

一部の動画には、ドメイン レベルのホワイトリストまたはブラックリストが適用されています。これは、コンテンツ所有者の裁量で行われます。

ホワイトリストまたはブラックリストがあり、埋め込みサイトのドメインを特定できない場合 (おそらくネイティブ アプリケーションの場合、実際の参照ドメインがないため)、デフォルトの動作は再生をブロックすることです。

このブログ投稿にももう少し詳細があります: http://youtube-eng.blogspot.co.uk/2011/12/understanding-playback-restrictions_28.html

于 2012-11-19T22:15:41.613 に答える
9

Jeff Posnick が指摘したように、一部の動画にはブラックリストがあります。Web ページではなくアプリからブラックリストを含む動画をリクエストしようとすると、次のエラー メッセージが表示されます。

「この動画には___のコンテンツが含まれています。特定のサイトでの再生が制限されています。」

あなたのアプリはブラックリストに登録されていない可能性があり、間違ってブラックリストに登録されている可能性があります。これを修正するには、Youtube API リクエストにオリジンを指定する必要があります ( atulkhatri が指摘したように)。

Youtube ビデオのリクエスト ヘッダーで、Refererから呼び出しを行う予定のドメインに設定します(たとえば、アプリの対応する Web サイトのドメイン)。ドメインを持っていない場合は、他のドメインを簡単に作成でき、それも機能する可能性があります。

この回答は、Youtube の V3 API で機能します。

于 2016-09-22T22:56:03.653 に答える