先日買った Fire HD 10 、Alexa が使えるのが思った以上に便利だった。
声で操作するって、最初は恥ずかしくて抵抗があったけど、料理中などには便利なものだな。
Alexa には「お買い物リスト」という機能がある。Amazon の買い物リストとは別物。
料理中に、ソーセージ使い切っちゃったな、と思ったら「アレクサ、買い物リストにソーセージ入れといて」って頼むと、すぐに入れてくれる。
でも、この買い物リストを家族で共有できない。
Alexa のお買い物リストは、Amazon のアカウントに紐づいていて、本人しか見られないのだ。
Wunderlist は、スマホで作ったリストを家族などで共有できるサービス。
類似サービスはほかにもあるのだけど、我が家ではこれを使っている。
類似サービスには、Alexa に対応していて、そのまま声でリスト追加できるものもある。
でも、Wunderlist は対応していない。
しかし、Wunderlist はメールに対応していて、メールを送ることでリストに追加できる。
さて、IFTTT というサービスがある。
技術的なことはさておき、「いろんな WEB サービスをつなぎ合わせるサービス」だ。
これを使って、Alexa の買い物リストに追加があったら、Gmail を使って Wunderlist にメールを出し、Wunderlist の買い物リストに登録する、という方法があることを知った。
この手法は結構古いらしいのだけど、上のページが丁寧に説明しており、そのまま設定すれば同じことができる。
…とおもったのだけど、やってみたがうまく動かない。
Gmail がエラーで送信できないよ、というエラーメッセージ。
このメッセージで検索すると、設定をこう変えればよい…などの情報が見つかるのだけど、どれを試してもうまくいかない。
IFTTT、3月31日からGmailのトリガーと下書き作成が利用不可に
それで見つけたのが、上のページ。
今はサービス終了した Google+ は、顧客情報が流出する可能性があるバグがあった、というのがサービス終了の決定打だった。
その後、Google はセキュリティを強化する取り組みを行う中で、Gmail を外部から操作できるようにしていたのを見直す、そのため IFTTT でも使えなくなる、という内容。
でも、ここでは「トリガー」が使えなくなるとしているだけ。
トリガーというのは、「メールが届いた」とか、状態変化を伝える機能のことで、「メールを送る」などの実際の動作を行う機能とは違う。
今回は、Gmail を使ってメールを送りたいだけなので、これとは関係ないはず。
さらに調べていたら、ちゃんと IFTTT のサイト内でこんなメッセージを発見。
Gmail actions may fail for some users.
Identified - The issue has been identified and a fix is being worked on. It will require a large rework in how Gmail is implemented, we appreciate your patience as we get Gmail up and running for everyone.
May 15, 16:51 PDT
意訳:
一部ユーザーで、Gmail でエラー
認識 - 問題は認識され、修正中です。Gmail の実装に大きな変更が必要なので、誰もが Gmail を使えるようになるまで、しばらくお待ちください。
つまり、僕のせいではなくて IFTTT 側の問題だったわけだな。
どんなに設定を見直しても無駄なわけだ。
「しばらくお待ちください」となっているが、もう2週間もこの状態のままのようだ。
いつ復帰するのかわからない。
上記調査中に、他にも気になることを見つけた。
IFTTT と Gmail と「日本語」の組み合わせを使うと、頻繁に文字化けするようなのだ。
IFTTT は基本的に英語サービスであり、日本語は「使える」が「保証されない」。
ここに、先に書いた Gmail 側の大変更なども加わり、日本語が化けるようになっては修正される、というのを時々繰り返している。
先に書いた、現在動かない件も含め、今後もこういうことがたびたびあるのかもしれない。
というわけで、不安定な Gmail に頼るのはやめよう。
幸い、Gmail 以外にも、普通の Email を使うこともできる。
ただ、Gmail では「誰にでも」送れるのに対し、Email は「自分にだけ」送れる。
Email の仕組み上、誰にでも送れてしまうと SPAM の発生源となるからだ。
自分にだけ送る、というのも、一度 Email でシステムがランダムな数値を送り、その数値を答えて認証を通さないといけない。
確実に自分向けの Email だと証明できた時だけ、自分宛の Email を自由に送れるようになる、ということだな。
そうなると、wunderlist 宛にメールすることはできないわけだが、幸い僕は自分のメールサーバを持っている。
届いたメールを、wunderlist 宛に転送しよう。
現在僕はサーバーで qmail を使っている。
qmail には、拡張メールアドレスと呼ばれる機能がある。
たとえば、ユーザー nobody のメールアドレスが nobody@example.com だったとしよう。
このとき、qmail では、nobody の後ろにハイフンと文字列を付けた nobody-ifttt@example.com もユーザー nobody に届くのだ。
しかも、この「届く」というのは、単にユーザーのメールボックスに届くのとは意味が違う。
同じメールボックスに入れる指示もできるけど、別のメールボックスに入れたり、片方だけプログラム処理したりもできる。
サーバーの時点で、ちゃんとメールを仕訳けてくれている。
自分のサーバーに qmail を入れている人には説明するまでもないのだけど、自分のホームディレクトリに
.qmail
というファイルを置くと、その内容によって自分宛のメールをどのように扱うか指定できる。
.qmail-ifttt
というファイルを置けば、自分のアカウントの後ろに -ifttt を付けたアドレス宛てのメールを処理できる。
ここに、次のように書く。
|sed 's/^From:.*$/From: nobody@example.com/' | /var/qmail/bin/qmail-inject me@wunderlist.com
メールボックスに入れるのではなく、このプログラムにメールを渡せ、という指示だ。
ここで、簡単なフィルタプログラムを書いている。
まず、From 行を書き換える。そしてそれを me@wunderlist.com に送る。
このままでは、実はヘッダに書かれた To: が自分のアドレスのままだ。
でも、wunderlist.com の方では、To: は気にしないようだ。
#メールは、「ヘッダ」と「封筒」に宛先を書ける。配信は封筒のアドレス宛てに行われるので、
ヘッダのアドレスと配信アドレスが違うことはあり得る。
wunderlist.com の方には、僕のメールアドレスが確かに自分のものであることを事前に認証させてある。
このアドレスはヘッダの From: に書かれたものを認識するようなので、こちらは書き換える必要がある。
これで、IFTTT からのメールは、無事 wunderlist に転送され、リスト項目が追加された。
海外では、個人が作った alexa スキルで、wunder shopping というものがあるようだ。
IFTTT で Gmail が使えないのであれば、自分で Oauth 認証を通して連携させられないか…と方法を探す中で発見した。
これが日本語対応してくれれば、ややこしいことなしで wunderlist と連携できる。
でも、個人の制作物だから、対応は望めないだろう。
しかし、wunderlist との連携スキルを作ることは可能だ、と示されているわけでもある。
いっそのこと自分で作ってみるか…とまで考えた。
その時に、ふと「自分にメール送れるなら、転送すればいいんじゃん」と気づいて、上のような設定になった。
alexa スキル作成は、面倒くさいのでやらない。
でも、誰か作ったら使いたい(β版で人柱やってもいい)ので、教えてください。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |