oEmbed仕様には、URLのoEmbedコンテンツを見つける2つの異なる方法が記載されています。
- WebサイトのAPIエンドポイントを認識し、それをGETパラメーターを介して、宣言したURLパターンと一致する場合に情報が必要なURLを渡します。
<link rel="alternate" type="application/json+oembed" ... />
(またはtext/xml+oembed
)HTMLヘッダーのおかげでoEmbedバージョンのURLを検出します。
2番目の方法は、プロバイダーのリスト全体を保存および維持する必要がないため、より一般的なようです。さらに、プロバイダーのリストは、少数のアクターのみが存在する集中型インターネットの兆候です。このアプローチはほとんどスケーラブルではありません。
ただし、他の誰かが利用できるようにしたリソースを解析できるWebサイトでは、最初のアプローチの使用法を見ることができます。たとえば、ウェブサイトFooからoEmbedバージョンのビデオページを提供できます。ただし、主にセキュリティ関連のいくつかの理由から、Xの作成者がそれで問題がない限り、「リソースXを解析できます」と言う人を信用しません。これにより、アプローチ2に戻ります。
だから私の質問は:私はここで何を逃したのですか?oEmbedを処理する最初の方法の使用は何ですか?たとえば、オンザフライでインターネット上のほぼすべてのリソースを検出する一般的な方法がある場合、oohEmbedのようにエンドポイントとパターンの全リストを保存(および最新の状態に維持)するのはなぜですか?
非常に密接に関連する質問として、同時に尋ねられる可能性があります(間違っている場合は訂正してください):oEmbedコンテンツの中央エンドポイントを提供しない場合はどうなりますか?各URLの「?version = oembed」パラメータ。標準バージョンの代わりにoEmbedバージョンを返しますか?