前回の記事の続きです。

NHK語学のラジオ講座をさくらのVPSで自動ダウンロード

http://programming.ironsand.net/2012/auto-download-nhk-language-mp3-by-vps/

今回はさくらVPSにダウンロードしたmp3をSugarsyncにアップロードするについて解説します。

さくらのVPS上にSugarSyncやDropboxを常駐させるのはできるのかどうかわかりませんでしたし、できてもメモリを食いそうなので今回はSugarSyncが提供するAPIを使用します。

自動的にSugarSyncにファイルをアップロードさせるための手順は以下の流れになります。

  1. APIを使うためにSugarSyncのDeveloperに登録

  2. upload_nhkradio.rb の設定

  3. cronの設定

1. APIを使うためにSugarSyncのDeveloperに登録

まずSugarSyncのAPIを使うためにDeveloperとして登録を行います。

http://www.sugarsync.com/developer/signup

もしSugarsyncのアカウント自体を持ってない方がいたら、まず[こちら][1]からSugarSync自体のアカウントを作ってください。

Developer登録をすると Access Key IDPrivate Access Key が手に入りますのでメモっていてください。あとで必要になります。

次に[Create App]から新しいアプリの登録を行いアプリケーションキーを取得してください。

新しいアプリの作成には以下の5つの情報を入力する必要があります。

Name:[アプリ名]”NHK Radio Uploader”とか適当に

Publisher:[製作者] #名前をいれておきましょう。

Description:[詳細] “Upload NHK radio mp3” とでも。

Support URL:[作者サイト] 自分はTwitterのアカウントいれてます。

Support Email:[連絡先] 普通に自分のメールアドレスを。

以上でAppが作れたら App ID が入手できますのでコレもメモっておいてください。

2. upload_nhkradio.rb の設定

必要な情報が揃いましたので upload_nhkradio.rb の設定を行います。

まず[upload_nhkradio.zip][2]をダウンロードして解凍し、sugarsync.rb, upload_nhkradio.rb, upload_nhkradio_ini.rbの3つのファイルを取り出してください。

そしてupload_nhkradio_ini.rbを開いて先ほど入手した情報とアップロードするフォルダ名を設定します。

#SugarSyncのユーザ名(メールアドレス),パスワード
@username = ""
@password = ""

#App ID /sc/などから始まる英数字
@application = ""

@access_key_id = ""
@private_access_key = ""

#refresh_tokenを設定しておけばusername, passwordはいりません。
#username,passwordで接続すると無駄に一つ多く接続するのでrefresh_tokenを設定して使いましょう。
@refresh_token = ""

#SugarSyncのどのフォルダにアップロードするか。 e.g. "sugarsync/nhklang"
#事前にフォルダは作っておきましょう。
@folder_name = ""

設定がおわったら3つのファイルを前回の記事で作成したCaptureStream.rbが置いてあるnhklangディレクトリにWinSCPなどでアップロードします。

これでアップロードする準備は整いました。

$ruby upload_nhkrandio.rb

とするだけでアップロードが開始されるはずです。(時間が掛かるので注意)

3. cronの設定

ここまで来れば後は前回設定したcronに少し設定を加えるだけです。

crontab -e

してcronの設定を開き

でcronの設定ファイルを開いて

PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:~/bin
0 11 * * mon ruby ~/nhklang/CaptureStream.rb >> ~/nhklang/Capture.log
<span style="color:red;">30 11 * * mon cd ~/nhklang; ruby upload_nhkradio.rb >> Capture.log</span></pre>
<p></p>


の1行を加えて全ての設定は終了です。


これで来週から月曜日の12時頃にはパソコンのローカルフォルダに自動的に語学講座のmp3がダウンロードされてるはずです。