お手軽WordPress Tips:wordpress.comのAPIを使ってスクリーンショットを取得する

Ads

ちょっとネタ的なTips。WordPressで
スクリーンショットを取りたい時に、
wordpress.comの非公開APIを使って
スクリーンショットを手軽に取得しよう
という内容。使い方次第ではなかなか
便利なんじゃないでしょうか。

wordpress.comのスクリーンショットを取得するAPIを使うとキャプチャせずともスクリーンショットが撮れるので楽です。

非公開API

以下のようにスクリーンショットを取得できるようです。

http://s.wordpress.com/mshots/v1/http%3A%2F%2Fexample.com%2F?w=250

このブログだと以下のような感じ

http://s.wordpress.com/mshots/v1/http%3A%2F%2Fkachibito.net%2F?w=500

URL部分をエンコーディング、w=数値で幅を設定出来ます。この非公開APIの使用に関してはbinarymoonがMattに使用可能か問い合せていますが、「使用もリンクも自由」との回答を得たものの、オフィシャルではない為、いつまでも使える保証はないそうです。

コード

先ほどのbinarymoonがBM Shotsというプラグインを作成しているのでコードの一部を借りました。functions.phpに以下を追記

function api_sc_shot ($attributes) {
	extract(shortcode_atts(array(
		'url' => '',
	), $attributes));
	$imageUrl = sc_shot ($url);
	if ($imageUrl == '') {
		return '';
	} else {
		return '<img src="' . $imageUrl . '" alt="' . $url . '" />';
	}
}
function sc_shot ($url = ''){
		return 'http://s.wordpress.com/mshots/v1/' . urlencode(clean_url($url)) . '?w=500';
	} 
add_shortcode('scshot', 'api_sc_shot');

プラグインから僕が不要なコードを抜いただけなので結構適当ですが、もっと簡単なコードで出来るかもですね。上コードでは画像の幅を500pxに指定しています。Webサイトに合わせて数値を変更してください。

で、ショートコードで画像を取得します。

[scshot url=”/”]

以下のように実装。

まぁでもBM Shots使ったほうが楽ですね。

いつまで使えるのか分かりませんけど、公式APIとして公開してくれるとちょっと嬉しいですね。

(via:actyway)