2013-01-08(火) [長年日記]
■ WappwolfとIFTTTを使ってKindle Personal Documentを復活させた(暫定)
Personal Documentにメールできない問題はいまだ絶賛継続中。Amazonのサポートもおれが1週間に1回かならずpingを打ってくることを学習したらしく、仕事始めの1月4日に向こうから「続報なし」のメールを送ってきた。いや、そんな情報量ゼロの話を知らせてもらえてもね……。メールがどこで詰まっているのか見つけるのになんでこんなに時間がかかるのか、不思議でしょうがない。
……と、待っていても不便でしょうがないので、(Amazonのサポートには引き続きがんばってもらいつつ)なんとか回避策をうつことにした。
なにしろHerokuのsendgridプラグインを使った場合のみ失敗するので、まずは自動的にPersonal Documentにメールできるルートを開拓しなくてはならない。ここにはWappwolfを使った。Wappwolfは以前「Dropbox Automater」と呼ばれていたサービスで(今はGoogle Driveやboxも使える)、Dropboxにファイルを作ることをトリガーにしていろいろやってくれる。ここで、特定のフォルダにファイルを入れたらそれをメールでKindle Personal Documentに送るというタスクを作ってやる。不思議なことにWappwolfを使うと、あきらかにFromを詐称しているにもかかわらずちゃんとメールでもPersonal Documentにファイルが届く。謎だ。DKIMなどの認証がネックだと思っていたけど、そうでもないらしい。
さて、これで次の課題は「生成したmobiファイルをDropboxにコピーする」というルートを作る点になった。これにはIFTTTを使う。IFTTTもWappwolfと類似だがより汎用的なサービスで、とにかくWebサービスを連結していろいろやってくれる。ここでは「IFTTTにメールすると添付ファイルをDropboxの特定フォルダにコピーする」というタスクを作る。これで、IFTTTへmobiファイルをメールすればよくなった。
で、最後はKindlizer-backendのメール送信先を、kindle.comのアドレスからIFTTTのトリガー用アドレスに変更する。これで無事、HerokuからKindleへの迂回ルートが開拓できたことになる。バンザイ*1。
ややこしくなったけど、本来こうだったものが:
Heroku →(メール)→ Personal Document
こうなった:
Heroku →(メール)→ IFTTT →(Dropbox)→ Wappwolf →(メール)→ Personal Document
うぇー。
実際はIFTTTだけでできるという話もあるんだけど、IFTTTはパーミッションが大雑把すぎて怖いので(Dropboxへの全面アクセス権を要求する)、できれば使いたくない*2。すでにKindlizer-backendにはメールだけでなくDropboxへも直接ファイルを送れるような改造を入れてあるので、以下のような運用にできるはず:
Heroku →(Dropbox)→ Wappwolf →(メール)→ Personal Document
とはいえ、Amazonのサポートとのお付き合いは今後も続けるので(←物好きな!)、毎朝メールを直接送るルートも残しておかないといけないので、もうちょっと手を入れないと。
何か送信先のメールアドレスとKindleのクラウドスペースの紐付けが
飛んでいるような気がするので、My Kindleのパーソナル・ドキュメント設定で
宛先になるメールを一旦変えたりしてみるのはどうでしょう?
その推理だと、いっさいのメールが届かなくなると思うのだけど。でもまぁ、やってみる価値はあるかもですね。
非常に興味深いことに、DjebelPappyさんの提案の通りkindle.comのアドレスを変更したら、なんと夕刊が届きましたよ(つまり上で書いた仕組みとあわせて同じファイルが2通届いた)。どういうこっちゃ。
まだ信じてないのですが(笑)、明日の朝刊も届いたらこれにて解決、かも知れません。
私のケースですが、
・Nexus7のKindleアプリでアカウントを作る
->パーソナルドキュメントでアドレスが発行される
->.com / .co.jpのアカウントを統合する(ここは関係ないかもしれません)
->Xperia SXを買ってKindleアプリを入れる
(Send-to-Kindle Eメールアドレスに送られたファイルを
どの端末に送るかの紐付けが吹っ飛んだ?)
->Send-to-Kindle Eメールアドレスの設定で、端末毎に別のアドレスを設定する
->設定がひっぱたかれたのでシャンとした。
みたいな感じではなかろうかと脳内妄想をしています。
Nexus7とXperia SXなんて、あなたはおれか!
でも、Nexus7でKindleアプリを使い始めた直後はちゃんと使えていたし、トラブル発生はその後1ヶ月くらいしてからなんですよ。タイミングが合わないし、そもそも端末を追加するとおかしくなるようならAmazon側にもっと事例の蓄積があっても良さそうなものですよねぇ。