IFTTT を使って LINE に送信

目次に戻る

IFTTT と呼ばれる中継サービスを経由して LINE にメッセージを送ってみます。

button-mkmk / IFTTT+LINE 全体像

作業1: LINE Notify の設定を行う

LINE へのメッセージ送信に使用する LINE Notify の設定を行います。

LINE Notify 右上のログインから LINE のアカウントでログインしてください。
※ この時点で LINE にログイン記録が通知されます

ログイン出来れば設定は完了です。
マイページから連携中のサービスが確認/管理ができます。

LINE Notify にログインするためのメールアドレスを確認する方法

LINE Notify ヘルプセンター / 登録しているメールアドレスを確認するには? をご覧ください。

作業2: IFTTT の設定を行う

IFTTT のアカウントを作成する

IFTTT Sing up からアカウントを作成してください。

Google(gmail) アカウントや Facebook アカウントを利用して作成もできますし、下の sign up からメールアドレスでの作成も可能です。

設定を新規作成する

Create your own - IFTTT を開いて This をクリックします。

IFTTT 01

[Search services] の所に、webhooks とタイプし Webhooks のアイコンをクリックします

IFTTT 02

Connect を押します

IFTTT 03

Receive a web request をクリックします。

IFTTT 04

Event Name 欄に button と入力し、 Create trigger をクリックします。

必ず 小文字で button と指定して下さい

IFTTT 05

That をクリックします。

IFTTT 06

[Search services] に LINE と入力し、 LINE のアイコンをクリックします。

IFTTT 07

Connect をクリックします。

既に LINE Notify に Connect 済みだったり、 Google アカウントや Facebook アカウントで IFTTT にログインした場合、この手順はスキップされて後述の “Send message” が表示される場合がありますが正常です。後述の “Send message” の手順から続けてください。

IFTTT 08

LINE アカウントに登録されているメールアドレス・パスワードでログインします。

IFTTT 09

もしメールアドレス認証を指定ない場合には、まず LINE アプリからメールアドレス認証を行う必要があります

IFTTT 10

Send message をクリックします。

IFTTT 11

Message 欄を以下のように変更し Create action をクリックします。

ボタン {{Value1}} が {{Value2}} クリックされました<br>{{Value3}}

IFTTT 12

Finish をクリックします。

トリガー時にアプリ通知が必要ない場合には Receive notifications when this Applet runs をオフにします

IFTTT 13

Webhooks のページを開き、Documentation をクリックします。

IFTTT 14

Your key is: の後ろの文字列をどこかにメモしておきます。

IFTTT 15

以上で IFTTT の設定は終了です。

作業3: AWS Lambda を作成する

AWS IoT 1-Click から呼び出され、IFTTT に送信する Lambda 関数を作成します。

AWS マネジメントコンソール を開きログインしたあと、リージョンが オレゴン (us-west-2) になっている事を確認します。
なっていなければ オレゴン に切り替えてください。

mkmk-button / 2-1 aws-console

AWS Lambda のコンソールを開き、 [関数の作成] をクリックします。

一から作成 を選んだあと、以下のように入力して [関数の作成] をクリックします。

関数コードでは、以下のようにします。

コードを以下の URL のコードと入れ替えて [保存] をクリックします。
https://github.com/j3tm0t0/1-click/blob/master/functions/ifttt/index.js

button-mkmk / AWS Lambda コード (ifttt)

メールの時同様に、テストを作成します。
テストイベントは以下の JSON を使います。その際、以下の値を変更してください。

{
  "deviceEvent": {
    "buttonClicked": {
      "clickType": "SINGLE",
      "reportedTime": "2018-05-04T23:26:33.747Z"
    }
  },
  "deviceInfo": {
    "attributes": {},
    "type": "button",
    "deviceId": " G030PMXXXXXXXXXX ",
    "remainingLife": 5
  },
  "placementInfo": {
    "projectName": "TestProject",
    "placementName": "button1",
    "attributes": {
      "event": "button",
      "key": "`IFTTT` の Webhook key を入れる",
      "value1": "値1",
      "value2": "値2",
      "value3": "値3"
    },
    "devices": {
      "myButton": " G030PMXXXXXXXXXX "
    }
  }
}

AWS Lambda 上でテストをして LINE Nofity からメッセージが届けば成功です。

作業4: AWS IoT 1-Click の設定を行う

デバイスの確認

今から行う作業の対象デバイスがすでに別のプレイスメントに割り当てられていると作業が継続できないため、あらかじめ プレイスメントからデバイスの割り当てを外す を参考に行ってください。

プロジェクト/プレイスメントの作成

[管理] > [プロジェクト] とクリックした後、[作成] をクリックします。

以下、プロジェクト内での設定です。

button-mkmk / AWS IoT 1-Click (ifttt)

[プレイスメントの作成] をクリックした後、プレイスメント内での設定を以下のようにします。

以上で終了です。

作業5: ボタンからの動作を確認してみる

SORACOM LTE-M Button を押してメッセージが届くか確認してください。

いろいろ試してみる

あとかたづけ

作業は任意です。