YouYube には短縮 URL http://youtu.be/***** があり、これを Twitter につぶやくとそのつぶやきに動画が埋めこまれます。YouTube のアカウント設定から動画をアップロードしたアクティビティを自動的につぶやく設定ができますが、iPhone の写真アプリから「YouTube に送信」をした場合など、(たぶん)API を通じてアップロードした場合はつぶやかれないようです。
これを解消するために、動画をアップロードすると自動的に http://youtu.be/***** の形式で Twitter につぶやいてくれる Movable Type プラグインである TweetYouTubeUploadStream を作成しました。Movable Type のタスク実行時に動作します。Twitter 認証には OAuth を使用していますので、パスワードを入力する必要はありません。
つぶやいた状態
TweetYouTubeUploadStream プラグイン(約 100.4 kb)
解凍すると、TweetYouTubeUploadStream フォルダが生成されます。その中身は以下のようになっています。
TweetYouTubeUploadStream
- tools/
- tweet-youtube-uploadstream
- plugins/
- TweetYouTubeUploadStream/
それぞれ以下のように設置してください。
正しく設置できていれば、システム・メニューのプラグイン設定画面に TweetYouTubeUploadStream プラグインの項目が表示されます。
Perl モジュール HTML::TreeBuilder がサーバーにインストールされていることが必要です(ActionStreams プラグインが MT にインストールされている場合はバンドルされていますので、自動的にそちらが利用されます)。
まず、各ブログのプラグイン設定から、Twitter への OAuth 認証を行います。
プラグイン設定画面
「OAuth による認証」をクリックすると OAuth 認証のためのダイアログが開きます。ここから、「PIN 番号を取得する」をクリックすると別ウィンドウで Twitter の OAuth 認証画面が表示されます(Twitter にログインしていない場合はログイン画面が表示されます)。
OAuth 認証のためのダイアログ
Twitter の OAuth 認証画面
TweetYouTubeUploadStream によるアカウントへのアクセスを許可すると、PIN 番号が表示されます。それをダイアログ内の入力欄に入力し、「実行」ボタンを押してください。これで Twitter に関する認証は完了です。
引き続き、プラグイン設定の「YouTube に関する設定」の「YouTube アカウント」を設定し、必要に応じて「つぶやきのフォーマット」を指定してください。これでプラグイン設定は完了です。
ここまでの設定が完了したら、cron またはタスクスケジューラ等により Movable Type のタスクが定期実行されるのを待ちましょう(登録を行っていない場合は登録しましょう)。なお、最初の一回は取得された動画アップロード情報のうち、一件分のみがつぶやかれます。
YouTube にアップロードした動画のアクティビティのつぶやきはすぐにさせたいが、Movable Type のタスクが頻繁に実行されるとサーバ負荷が心配な場合など、Movable Type のタスクとは別にこのプラグインによるつぶやきを行いたい場合には、Movable Type のタスク実行ツールである run-periodic-tasks と同じように tweet-youtube-uploadstream を cron またはタスクスケジューラに登録します。以下は 10 分おきに本プラグインを実行させたい場合の設定です。
*/10 * * * * cd /path/to/mt; ./tools/tweet-youtube-uploadstream
また、tweet-youtube-uploadstream の実行時に video_id と blog_id オプションを追加すると、Twitter にその動画の短縮 URL をつぶやきます。
cd /path/to/mt; ./tools/tweet-youtube-uploadstream -video_id=qUpwNUKWYdE -blog_id=1
基本的にご利用は無償かつ自己責任ですが、継続的な開発、更新のため、よろしければドネーションをご検討ください。以下のボタンから、PayPal を通じて行うことができます。
また、フィードバックもぜひ kenmin.okayama@gmail.com までお送りください。コメントでもかまいません。
Comments