web-dev-qa-db-ja.com

OEmbedコンテンツのフォールバック

OEmbed URLがまだコンテンツを返しているかどうかを検出する簡単な方法はありますか?そして、もしそうなら、不足しているoEmbedコンテンツをある種の代替コンテンツで置き換える方法はありますか?

例えば、私が私の投稿にinstagram.comのURLを貼り付けた場合、WordPressはそれを認識し、ブログ投稿にInstagramの埋め込みウィジェットを挿入するためにoEmbedを使用します。これは、説明、タグ、Instagramに画像を投稿した人へのリンクなどを使って、訪問者に素晴らしいリッチな体験を提供します。

ただし、時がたつにつれて、一部のユーザーがInstagramから古い画像を削除する可能性が高まっています。それが起こると、埋め込むものは何もなくなり、ブログ投稿にはもう画像が表示されなくなります。このような場合、oEmbedコンテンツの(未)利用可能性を検出し、ローカルに保存された画像などの適切なフォールバックを提供できるようにしたいと思います。

誰もがこれを達成する方法を知っていれば、いくつかの助けが高く評価されるでしょう。

4

おそらく実用的ではありません。あなたがコンテンツをコントロールしていない場合、あなたはそれが閲覧時に埋め込み可能になるかどうかを知ることができません。 youtube/vimeoのコンテキストではなぜ難しいのかを示す最も簡単な例は、プライベートまたはジオ制限のある制限されたビデオです。その場合、コンテンツはまだ埋め込み可能ですが、ユーザーには「このコンテンツは制限されています」というメッセージが表示されます。この場合、代替コンテンツを見せたくなるかもしれませんが、そのようなイベントをワードプレス側で検出することは不可能です。 Youtubeには関連性のある兆候を示す可能性があるJS APIがありますが、すべてのサービスプロバイダにそのようなAPIがあるわけではありません(ワードプレスまたはサーバーの一部のコードにはそんなことはありません)

すべての投稿に対して数日に1回oembedプロトコルを実行しようとすることでコンテンツの削除を検出できますが、それを行うためのスケーリングの問題がないと仮定して、oembedが失敗したときに正確にどうしますか?ビデオや曲を別のコンテンツに置き換えることはできません。サーバーからのInstagramの画像を使用することは著作権侵害です。

あなたがそのようなことを心配しているならば、彼らが彼らのコンテンツの一部としてツイートのテキストをコピーするところに彼らがツイートを埋め込むときCNNがすることをしなさい、言い換えれば - あなたが代わりのコンテンツを持っているなら埋め込まれたもの。

1
Mark Kaplun