2012年05月15日

Kindlefeeder.comで無料アカウントを使って自動配信する方法

RSSフィードの全文変換とKindlefeederを使って、ニュースやブログをKindleに自動配信するようになってからは新聞を買う機会がめっきり減った!、というぐらい実用的なKindlefeederの自動配信機能ですがこの機能は有料(プレミアム)アカウントにならないと使えません。

34

自動配信以外にも無料・プレミアムの間には機能差があるんですが、自動配信が一番嬉しいんですよね。

僕自身はプレミアム会員なので必要は無いのですが、もし、プログラミングで自動配信できたら便利かも・・・ということで今日は無料アカウントで自動配信するツール、方法を考えてみましたよ。

Kindlefeederの準備


基本的な使い方は過去の記事を参考にしつつ、まずはKindlefeederの無料アカウント作成と最低限の設定(全文変換したRSSフィードの登録)を終わらせてましょう。

KindleにRSSフィードをまるごと自動で配信して読む!
Kindlefeederの基本設定・使い方

ちなみに、配信設定(Delively Settings) > 送信アイテム設定は同じ記事が何度も配信されないように”send only new feed items”に変更しておくのがオススメ。

01

作成したアカウント名、パスワード、送信先メール・アドレス(*@free.kindle.com)を覚えておいて下さいね。


KFeederで自動で配信


通常、無料アカウントでKindleへ配信するにはKindlefieederにログイン後、配信用ボタンをクリックする操作が必要です。

08

これを自動実行してくれるのが今回用意したKFeeder.jar(Javaプログラム)。

 KFeederのダウンロード(1.0)

Java実行環境さえあれば、Windows/Mac OS X/Linuxの何れでも動きます。
コマンド・プロンプト又は端末(ターミナル)を開いてjava –versionを入力し、表示されたJavaバージョンが1.6以上であればOK。

16

もし、インストールされていない場合は、本家Java(僕の開発環境は1.6系ですが、多分1.7系でも大丈夫)をインストールして下さい。

Javaの用意ができたらダウンロードしたkfeeder.zipを適当な場所で解凍・展開しましょう。

08

作成されたフォルダにコマンド・プロンプトで移動(cd c:¥path¥folder)し、java –jar KFeeder.jarと入力して下さい。すると、次のようなヘルプ・メッセージが表示されるはずです。

51

メッセージの通り、このプログラムを実行する為には次のオプションが必要です。

 -u: Kindlefeeder.comのユーザ・アカウント
 -p: Kindlefeeder.comのユーザ・パスワード
 -e: フィードの送信先メールアドレス(Kindlefeederで送信先としてクリックするボタンのアドレス)。
 -t: 定期実行する時刻(5:00、23:00など)を指定。指定しない場合、1度だけ実行。

例えば、一度だけ実行する場合、コマンド・プロンプトで次のように入力します。

java -jar KFeeder.jar -e kindle-user-name@free.kindle.com -u ユーザID -p パスワード

すると、次のようなメッセージが表示され、

Starting KFeeder... 
SUCCEED: login kindlefeeder.com 
SUCCEED: request delivery to kindle-user-name@free.kindle.com 
※プログラムは一度実行すると終了します。

kindlefeeder.comでRecent Deliveryを見ると配信が行われているはずです!

15

さらに-tオプションで時刻を指定して起動すれば、プログラムは終了せず、毎日指定した時刻になると同じ処理を行なってくれます。

java -jar KFeeder.jar -e kindle-user-name@free.kindle.com -u ユーザID -p パスワード -t 6:00 
※毎日朝の6:00時に実行。

ね、後は“常に電源が入っている”パソコン上でこのプログラムを起動しておけば毎日自動配信されるというわけです!


Cloud FoundryでKFeederを実行する


え?、常に電源が入っているパソコンなんてあるはず無いだろ?、そうですよね。。。そんな人には少し難しくなりますがCloud Foundryという今流行のクラウドPaas環境(無料で利用できるインターネット上のプログラム実行環境)をご紹介します。

まずはこちらからCloud Foundryのアカウントを作って下さい。

32


すると登録したメール・アドレスにパスワードが送られてきます。

BlogPaint

続いてCloud FoundryでKFeeder.jarを実行する為にvmcという管理ツールをインストールする必要があります。
このvmcはRuby(プログラミング言語)で記述されているので、まずはRubyをインストール。はじめてなので迷うというWindowsユーザの人は、僕のMac OSと同じく1.8.7系の最新をこちらからダウンロードして下さい。Ubuntuの人$ sudo apt-get insall ruby rubygemsですね。

12
※本日時点では、rubyinstaller-1.8.7-p358.exeが1.8.7系インストーラの最新。

Windowsにインストールする際には自動でrubyへのパス設定が行われるようにしましょう。

35

Rubyのインストールが終わったら、新しくコマンド・プロンプト又は端末(ターミナル)を開いて、gemというコマンドでvmcをインストールします。

$ sudo gem install vmc 
Successfully installed rubyzip-0.9.8 
Successfully installed interact-0.4.2 
Successfully installed addressable-2.2.8 
Successfully installed uuidtools-2.1.2 
Successfully installed vmc-0.3.17 
5 gems installed 
※Windowsの場合、sudoは必要無し。

ふぅ、やっと準備が出来ました。ここからはvmc経由でKFeeder.jarを実行します。
まずは、コマンド・プロンプトでKFeedr.jarのおいてあるフォルダに移動し(例:cd  c:¥kfeeder)、次のコマンドを実行します。

$ vmc target api.cloudfoundry.com

送られてきたパスワードでログインしましょう。

$ vmc login your-addr@gmail.com --passwd パスワード(Cloud Foundory)

pushしてKFeeder.jarをクラウドに配置・実行します。

$ vmc push
※KFeeder.jarが保存されているフォルダに移動してから実行すること。

pushを実行すると幾つか質問されるので、次のように入力します。

Would you like to deploy from the current directory? [Yn]: y

Application Name: kfeeder
※アプリケーション名は適当な名前を付けて下さい。

Detected a Standalone Application, is this correct? [Yn]: y

1: java
2: node
3: node06
4: ruby18
5: ruby19
Select Runtime [java]: 1
Selected java

Start Command: java -jar -Xms128m -Xmx256m KFeeder.jar -e kindle-user-name@free.kindle.com -u ユーザID -p パスワード -t 6:00
※クラウド側はUTC(協定標準時)で動作している為、普段使っている日本標準時(JST)から-9時間するが必要があります。

Application Deployed URL [None]:

Memory reservation (128M, 256M, 512M, 1G, 2G) [512M]: 512M

How many instances? [1]: 1

Create services to bind to 'kfeeder'? [yN]: n

Would you like to save this configuration? [yN]: n
Creating Application: OK
Uploading Application:
Checking for available resources: OK
Processing resources: OK
Packing application: OK
Uploading (894K): OK  
Push Status: OK
Staging Application 'kfeeder': OK

お疲れ様でした。これで、クラウド上でプログラムが動き出しました。

状態は“vmc log アプリケーション名“で確認出来ます。

$ vmc logs kfeeder
====> /logs/stdout.log <====

Waiting until next delivery. Tue May 15 06:00:00 UTC 2012 +147 sec
Starting KFeeder...
SUCCEED: login kindlefeeder.com
SUCCEED: request delivery to kindle-user-name@free.kindle.com
Waiting until next delivery. Wed May 16 06:00:00 UTC 2012 +86399 sec

指定した時間になると自分のパソコン上で実行したのと同じようにメッセージが表示されているはずです。

少し手順が複雑なのが難点ですが、是非チャレンジしてみてください。
(停止はvmc stop アプリケーション名、削除はvmc delete アプリケーション名です)


それでは、より良いキンドル・ライフを!





Posted by netbuffalo at 19:46│Comments(15)TrackBack(0)kindle | ライフハック


この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/netbuffalo/3998356
この記事へのコメント
"Staging Application 'kfeeder': OK" までは確認できましたが、
"not enough information is provided" とエラーになってしまいました。
何か原因が考えられますでしょうか?
Posted by @euporia at 2012年11月25日 16:20
@euporiaさん

Cloud Foundryを使って自動送信しようとされているんだと思います。
僕の手元でブログの内容をもとに再度試して見ましたが、特に問題は見受けられませんでした。
Cloud Foundryにデプロイ(アップロード、設定、起動)する際のオプション選択に違いがあるのかな???という気がするのですが、確信まではありません。

念の為、手元でデプロイした際のログを記して置きますので、違いが無いかご確認下さい。
https://dl.dropbox.com/u/5966412/kfeeder-log/kfeeder.txt
※***の部分はユーザ環境に依存します。
※vmc pushコマンドはKFeeder.jarが保存されているディレクトリ、フォルダに移動してから実行して下さい。
Posted by netbuffalo(管理者) at 2012年11月26日 10:54
丁寧なご回答有難うございます。
再確認してみます。
Posted by @euporia at 2012年11月26日 19:11
こちらこそ、明確な回答が出来ずに申し訳ありません。
多分、@euporiaさんはWindowsで作業されていると思うのですが、
僕はUbuntuなので違いがあるのかもしれません。
時間が出来たら僕もWindowsで試してみます。
Posted by netbuffalo(管理者) at 2012年11月26日 19:22
@euporiaさん

もし、うまく動かない場合には、vmc logs <アプリケーション名>の実行結果も教えて下さい。
※アプリケーション名は記事通りならkfeederです。

例)
$ vmc logs kfeeder
====> /logs/stdout.log <====

Waiting until next delivery. Mon Nov 26 06:00:00 UTC 2012 +15668 sec
Starting KFeeder...
SUCCEED: login kindlefeeder.com
SUCCEED: request delivery to kindle-user-name@free.kindle.com
Waiting until next delivery. Tue Nov 27 06:00:00 UTC 2012 +86399 sec
Posted by netbuffalo(管理者) at 2012年11月26日 21:40
はじめまして。
有益な情報提供、ありがとうございます。
windows7 64bit環境で、vmc pushを以下の流れで実行したのですが、
Name>kfeeder
Instances>1
Framework> 10 (10:Standalone)
Startup command> 同上
Runtime> 1(1:java)
Memory Limit> 3(3:256M)
Creating kfeeder..OK
URL>2(2:none)
Create services for application? >n
Sava configration? > n
と入力後、
uploading kfeeder...FAILD
upload failed. Try again with 'vmc push'.
TypeError: can't convert nil into String
For more information, see ~vmc/crash
と出てしまい、正常に動作させることができません。
もし、修正点等お気づきでしたら、ご教授いただけるとありがたいです。

Posted by nexus7user at 2012年12月30日 22:36
nexus7userさん

Startup command>同上とありますが、これは10(Standalone)を入力されたということでしょうか。Startupコマンドは次のように起動コマンドと貴方の情報を入力します。

java -jar KFeeder.jar -e kindle用メールアドレス@free.kindle.com -u kindlefeederのユーザ名 -p パスワード -t 5:00(送信時刻)

こちらで再度試してはどうでしょうか。
ちなみに、僕の方で今さきほど記事通りに試した所、メモリが足りないというエラー(Could not reserve enough space for object heap)が出てしまいました。
この場合は、サーバーが混み合っている可能性があるので、暫く待ってから再度試した方が良いかもしれません。
Posted by netbuffalo(管理者) at 2012年12月31日 15:20
netbuffalo様
早速のご回答、ありがとうございます。
私の書き込みが不適切だったようです。
Startup command>同上とは、
上記ブログの記事を指しており、
java -jar KFeeder.jar -e kindle用メールアドレス@free.kindle.com -u kindlefeederのユーザ名 -p パスワード -t 5:00(送信時刻)
相当の情報を入力しました。
さきほど再チャレンジしてみたのですが、
やはり
Uploading failed. Try again with 'vmc push'.
TypeError: can't convert nil into String
Fore more information, see ~/.vmc/crash
と出てしまいます。

Posted by nexus7user at 2012年12月31日 18:24
nexus7userさん
やはりそうですか。。
エラーを見る限り、rubyの処理で問題が起きているようです。
根拠は無いのですが、rubyを1.9系にしたら変わるかもしれません。
以前は僕も1.8系でしたが、今は1.9系を使っています。
(OSがUbuntuなので一概にwindowsと比較できないのですが)
何か気がつきましたら、コメントします。
取り急ぎ。
Posted by netbuffalo at 2013年01月01日 20:31
早速のご回答、ありがとうございます。
1.9系(rubyinstaller-1.9.3-p362.exe)を再インストールしてやってみましたが、やはり同じ症状でうまくいきませんでした。
windows7にubuntuを導入し、ubuntu経由でトライする案も検討して見たいと思います。
Posted by nexus7user at 2013年01月02日 20:26
nexus7userさん
そうですか・・・、残念です。
windows+64bit+ruby+vmcの組み合わせで何か特性があるのかもしれません。。
僕はubuntu+64bit+ruby1.9環境で検証していますので、こちらであれば、まず同じエラーは出ないと思います。
今後ともお気軽にコメント下さい。
日に一度程度になりますが、必ず返信は致します。
Posted by netbuffalo(管理者) at 2013年01月02日 23:33
netbuffalo様
有益な情報いつもありがとうございます。記事の通りにCloud Foundryを使って毎朝幸せにRSSを読んでいたのですが、残念ながらCloud Foundryのβ(無料期間)が終了してしまいました。kindlefeederのプレミアム有料サービスも現在は受け付けていないようで、困っています。Cloud Foundry以外に(無料で)kfeedr.jarを使用できるサービスはありませんでしょうか?
Posted by kak0000102161 at 2013年08月13日 18:44
kak0000102161さん、

Cloud Foundry の無料期間が終わってしまったんですね。
ご指摘の通り kindlefeeder も新たな有料アカウントは募集しておらず、RSSフィードを全文変換、自動配信してKindleで読むのは難しい状況になっています。
何か良い方法が無いか考えてみますので、少々お時間を頂きたく。
Posted by netbuffalo(管理者) at 2013年08月14日 10:50
netbuffalo様

ありがとうございます。よろしくお願いします。
Posted by kak0000102161 at 2013年08月14日 16:05
kak0000102161さん

AppFogという無料PaaSを紹介する記事を書きました。
詳しくはこちらをどうぞ。

http://netbuffalo.doorblog.jp/archives/4566614.html
Posted by netbuffalo(管理者) at 2013年08月30日 09:45

コメントする

名前
URL
 
  絵文字