- blogs:
- cles::blog

oEnbed - 外部のコンテンツを自サイトに埋め込むためのプロトコル
下記のエントリで紹介されている oEnbed*1 というプロトコルが興味深かったのでメモ。
WordPressはFlickrやYouTubeのURLを張り付けるだけで表示してくる : ARTIFACT ―人工事実―
はてなブログが外部サイトの埋め込み機能を強化したのだが、これでoEmbedというプロトコルを始めて知った。便利な機能だと思ったのだが、調べてみると2009年ぐらいからは話題になっていたようだ。
自分も全くノーマークでしたが、便利そうなので忘れないうちにちょっと仕様を調べてみました。
これがあれば、外部のサイトのコンテンツの引用が便利になりますね。逆に自分のサイトの引用され方も指定することも出来ますし。
† Twitter でちょっとためしてみる
Twitter がサポートしている oEnbed の仕様は GET statuses/oembed | Twitter Developers にあります。
とりあえず今回は下記のツイートを例に oEnbed を試してみます。
おはようございます
— hsur (@hsur) March 6, 2012
上記のツイートの埋め込みは Twitter のウェブページからコードを取ってきて貼りましたが、Tweet の ID が分かれば下記のような URL にアクセスすることによって json で情報を得ることができます。
https://api.twitter.com/1/statuses/oembed.json?id=177174844683730944
上記の json の html の中身をデコードすると下記のようになります。
これは、 Twitter のウェブから直接埋め込み用のコードをとってきたものと同じになっています。
Discovery をサポートしているサービスであれば、このような json を取得するためのエンドポイントをコンテンツの URL から得ることができるので、これを応用すれば汎用のコンテンツ埋め込み機能を実装することが出来るということのようです。ちなみにTwitter は oEnbed プロトコル自体には対応していますが、Discoveryのサポートはしていないようですね。
そのうち Nulceus 向けの実装を書くかもしれません。
- *1: 日本語で読みたい方はこれがいいかも。「URLを埋め込みコンテンツに変換するoEmbedの仕様 - Codin’ In The Free World」
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4807
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110792)
3 . 年次の人間ドックへ(110384)
4 . 2023 年分の確定申告完了!(1つめ)(109932)
5 . 三菱鉛筆がラミーを買収(109831)