IFTTT, GAS, Line-notify를 사용하여 버튼 1 푸시로 Line에 최근의 버스 정보를 통지한다

소개



최근 버스 통근이 되었다.
→버스는 10분에 1개 정도 있어, 여유나무 ww
→5분 전에 나왔습니다. 다음은 50분 후
→Oh...

그런 일이 있었고 버스 시간표를 카메라로 찍어 매번 확인했지만,
사진 앱 시작
→ 해당 사진을 찾아서 열기
→현재 시간과 시간표를 비교하여 최근 녀석 찾기

라고 하는 멘덕사이 작업을 매회 하고 있었다.

앱을 만들어도 좋지만, 까다로운 틈새 요구이며 Google Play에 공개하는 것도 이케테나이하고, iPhone이라도 사용할 수 있으면 기쁘다고 생각했던 곳,

어쩐지 있어 IFTTT와 GAS와 LineNotify를 연계시키면 안되잖아? 되어 만들어 보았다.

거친 전체도와 실장 정책





실제 코드를 작성한 것은 GAS 부분만이 좋다.

구현 정책


  • IFTTT 측에서 GAS에 이벤트를 보내는 경우, Maker Web hooks를 사용한다. 이제 POST로 데이터를 보낼 수 있습니다
  • GAS 측은 웹 응용 프로그램으로 게시하여 GET 또는 POST에서 데이터를 수락 할 수 있습니다.
  • LineNotify는 나만의 통지를 할 수 있도록 Token을 만들고 GAS에서이를 사용하여 통지를 보냅니다.
  • 시간표는 미리 Google Spread Sheet에 써 둔다 (수동)

  • GAS 구현



    Gist 에 코드를 올렸으므로 여기를 참조(일부 야츠케 구현이 있다)

    코드에없는 사양


  • terminal=sibuya terminal=tokyo
  • SpreadSheet의 시트 이름은 "sibuya"와 "tokyo"로되어 있다고 가정합니다
  • SpreadSheet의 1행째에 평일의 시각이 「6:10」 「6:20」・・・라고 하는 느낌으로 쓰여져 있다. 마찬가지로 두 번째 행에는 토요일 시간이 있고 세 번째 행에는 일요일이 기록됩니다.

    처리 흐름



    Webhook측에서 doPost(e)가 킥되면 파라미터로서 가지고 있다 terminalgenerateResentBusMsg 에서 해당 시간표에 적힌 시트를 가져옵니다.
    그 후, 현재 시간과 시각표를 비교해, 최근의 버스의 시각과 다음발의 버스의 시각을 구한다
    마지막으로 notify2Line 메서드로 메시지를 LINE으로 보냅니다.

    상수 정보



    LINEToken→htps : // 후 fy- 보 t. 네. 메/my/ 로그인하면 마이 페이지로부터 액세스 토큰을 발행한다. 토큰 이름이 길면 메시지를 압박하기 때문에 짧은 것이 좋습니다.
    spreadSheetId→GoogleSpreadSheet를 열었을 때의 URL에 포함되어 있다. 그것을 복사하면 괜찮습니다.getSheet

    게시 방법



    Google Apps Script 편집 화면에서 '공개'→ '웹 애플리케이션으로 배포'를 클릭합니다. 버튼을 누르면 공개 URL이 발행되므로 복사
    덧붙여 무언가의 갱신을 한 경우, 버젼은 「신규 작성」을 선택하지 않으면 왠지 갱신되지 않았다.

    IFTTT 설정



    this→「Button widget」을 선택. 할 수있는 일이 하나뿐이므로 헤매지 않을 것입니다.
    that→「Maker Webhooks」를 선택.
    그런 다음 URL에 GAS의 공개 URL을 붙여넣고,
    Method로 POST를 선택,
    Content Type으로 application x-www-form-urlencoded를 선택하고,
    Body에 terminal=shibuya or terminal=tokyo를 설정. https://docs.google.com/spreadsheets/d/{spreadSheetId}/~ 하면 버튼을 누르면 시부야 버스 정류장 정보를 취득, terminal=shibuya 그렇다면 도쿄 버스 정류장 정보, 같은 느낌.
    설정하면 이름을 임의로 결정하여 저장. 여기의 이름이 그대로 위젯의 이름이 된다.

    Line 설정



    LINE 앱에서 「LineNotify」라고 친구가 된다.

    Android 측 설정



    위젯에서 IFTTT를 선택하고 방금 만든 버스 정류장 위젯 배치
  • 좋은 웹페이지 즐겨찾기