BLOGTIMES
2018/07/04

Zapier を使ってメールの一部を Pushbullet でプッシュ通知する

  zapier  python  pushbullet 
このエントリーをはてなブックマークに追加

メールの一部を抜き出して Pushbullet 経由でスマホにプッシュ通知する機能を Zapier で実現してみました。

始めは IFTTTMicrosoft Flow とかでもいけるかなと考えていたのですが、実際に作成しようとしてみると、別途メールアカウントが必要だったり、加工がめんどくさかったりしたので、結局 Zapier になってしまいました。

Zapier でメールと Pushbullet を連携させるには、そのものズバリの Email by Zapier + Pushbullet Integrations*1 がありますが、本文の加工が自由にできないのがもどかしいので、今回は Email by Zapier + Code by Zapier Integrations*2 を使って、Pushbullet への投げ込みは Code by Zapier の中で Python を使って Pushbullet API を叩くことで実現します。具体的には create-push にある curl での POST 処理をそのまま Python で書くことになります。

以下、構築メモ

Pushbullet 側の準備

Pushbullet の Settings にある Create Access Token ボタンを押して、アクセストークンを取得しておきます。

Zapier 側の設定

Zapier 側の設定はこんな感じで書きます。
Email by Zapier + Code by Zapier Integration - Zapier を使ってメールの一部を Pushbullet でプッシュ通知する

Python のコードのリファレンスは「Code (Python) - Integration Help & Support | Zapier」にあります。
今回はワンタイムパスワード(数字8桁)だけを本文から取り出したいので、こんな感じのコードになっています。

import requests import json import re access_token = '###ここに Pushbullet のアクセストークンを書く###' url = "https://api.pushbullet.com/v2/pushes" title = u"OTP通知 <%s>" % input_data['mailfrom'] body = "%s\n%s" % (input_data['mailsubject'],input_data['mailbody']) m = re.search('[0-9]{8}' , input_data['mailbody']) if m: title = u"OTP通知: %s <%s>" % (m.group(0), input_data['mailfrom']) body = "" requests.post(url, data = json.dumps({'body':body, 'title':title,'type':'note'}), headers = {'Content-Type': 'application/json', 'Access-Token': access_token}) output = []

実際にメールを送ってみると・・・・・

テストを行うと、こんな感じの通知が飛んでくることが確認できます。
ワンタイムパスワードの通知 - Zapier を使ってメールの一部を Pushbullet でプッシュ通知する


トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10279
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン