とある件で Vimeo のサムネイル画像を取得する用事があったんですが、Vimeo って YouTube のように動画 ID からダイレクトに呼び出せる画像 URL がなくて、API から動画情報を取得してその中の画像 URL を取り出す必要があるみたいなんですね。
PHP, JavaScript のサンプルコードも公開されてますしやること自体は難しい話じゃないんですが、せっかくなので最近勉強を再開し始めた Go 言語で練習がてらにコマンドラインツールを作ってみました。
ツールについて
このツールの簡単な仕様です。
- コマンドラインから実行できる
- 動画 ID を引数に渡してコマンド実行すると、その動画のサムネイル画像 URL を返す
- オプション引数でサムネイル画像のサイズも指定できる
作成したコードはこちらに UP されてます。
では、試しにこちらの動画を使って、実際にツールからサムネイル画像を取得してみましょう。
Watchtower of Turkey from Leonardo Dalessandri on Vimeo.
この動画の URL は https://vimeo.com/108018156
なので、「108018156」(動画 ID)を引数としてコマンドを実行してみます。
$ ./main 108018156 https://i.vimeocdn.com/video/491616871_295x166.jpg
こちらの画像 URL が取得できました。
今度はオプションの画像サイズも指定して実行してみます。
$ ./main 108018156 640 https://i.vimeocdn.com/video/491616871_640.jpg
指定した 640px の画像 URL が取得できました。良さげですね。
とりあえず動くレベルでざっと作ってみたんですが、気になる点がいくつかあります。
- コマンドライン引数は os パッケージで処理しましたが flag を使う方が便利そう。(そういえば「みんなのGo言語」に載ってた記憶が。読み返さねば・・・。)
- JSON の手続きがちょっと面倒。もっと簡潔な書き方あるんでしょうか。
がっつり勉強する時間がなかなか取れないので、この程度のちょっとしたツールはできるだけ Go で作るようにして、少しでも慣れていけるといいかなと思ってます。
2018/3/9 追記
レバテックキャリア様のブログにて当記事をご紹介頂きました。ありがとうございます!
「Go言語を勉強中という方に読んでほしい記事まとめ」ということで、色々な方の学習方法やアウトプットが掲載されていますので、興味のある方はぜひご覧になってみてくださいー。