「Twitter oembed API」を使って埋め込みツイートを表示させる!

  • このエントリーをはてなブックマークに追加

oembedphoto by Visit St. Pete/Clearwater

自分のサイトにツイッターの「つぶやき」を埋め込みたいときってありますよね?

手動でツイートを埋め込むときは、ツイート画面の右下にある「…」のボタンを押して、コピペ用のembedコードを張り付けたりします。

一方、動的に埋め込み処理を行いたいときは、下記のように「oembed API」を使ってサーバからembedコードを取得する方法もあります。

今回は、埋め込みコードが取得できるTwitter API「oembed」について、いろいろ調査してみました!

ツイッターAPIで情報取得!

まずはツイッターAPIを叩くためのPHPコードです。

有名な「abraham/twitteroauth」というライブラリを使ってAPIにアクセスします。「twitteroauth」のインストールの仕方は別にいいですよね・・?他のブログでもいっぱい紹介されてるし・・。ざっくりとしたインストールの仕方を知りたい方は、前に私が書いた下記の記事をご参照ください。

※ちなみにTwitter APIは、ツイッターに開発者登録をして、各種APIキーを発行してもらわないと使うことができないので、ご注意くださいね。

さてインストールが完了した後は、以下のようなPHPコードによってAPIにアクセスができます。

そして、Twitter側からは、以下のようなJsonの応答が返ってきます。

いろんなパラメータがありますが「cache_age」というのがなんだか気になりますね。いったいなんの値なんでしょうか?

調べてみるとどうも、サーバがクライアントに対して「この秒数だけ情報をキャッシュしておいてくれ」とお願いする数値のようです。「3153600000秒」というのは約100年を表します。ツイッター側は我々に二度とこの要求を飛ばしてくるなとご所望のようです。しかしこの「cache_age」を採用するかどうかはクライアント側の自由です。ですので気にせずガンガンとクエリーを飛ばしても許してくれるはずです。

埋め込みコードを表示!

上記のJSONレスポンスの「html」のフィールドの中に、html埋め込みコードが記されています。これをブログに張り付けるとこんな感じになります。良く見かけるおなじみの埋め込みツイートですね。


この標準の表示形式の他にも、「Twitter oembed API」では様々なフォーマットを指定して、埋め込みツイートをカスタマイズすることができます。

横幅を指定したり、中央よせにしたり、画像を非表示にしたり、一通り表示方法が用意されています。以下、表示例です。

横幅220pxで表示!(maxwidth=220)


埋め込みコード:

中央よせで表示!(align=”center”)


埋め込みコード:

画像なしで表示!(hide_media=true)

埋め込みコード:

動画の埋め込みコードを取得!

上記は「ツイート」の埋め込みコードの取得方法ですが、オプションを指定することで「動画」の埋め込みコードも取得できます。

動画の埋め込みコードを取得するには、「widget_type」のオプションに「video」を指定します。

これを実行すると、Twitter側からは以下のようなJsonの応答が返ってきます。

「html」の中に埋め込みコードが入っています。これをブログなどに貼り付けると、ツイッターのビデオが見られます。
↓(こんな感じ)

「omit_script」のオプションを「true」にセットすると、埋め込みコード内のjavascript読み込みの記述が省略されます。自分のサイトで既にツイッターの「widgets.js」を読み込み済みならば、「true」にセットして省略しても良さそうですね

まとめ

以上、ツイッター埋め込みコードが取得できる便利なAPIの紹介でした!

ツイッター公式によると、ツイートを掲載するときは厳密なルールがあり、そこに準拠していないツイートの表示方法は認めていないそうです。なので勝手な方法でツイートを引用したりすると、ツイッター側から怒られてしまう可能性もあるということです・・。

この埋め込みフォームはツイッター公式が用意しているものなので、そのまま使えば怒られることはなさそうですね。安心安心・・。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。