見出し画像

Zapierで自動化GoogleフォームをLINE受信(Pythonコード付き)

ZapierでGoogleフォームの新着内容をLINE受信できるようにしました。
「LINE Notify」を使えば意外に簡単に出来たので書いておきます。

全体の流れ

1. LINE Notifyに自分のLINEでアクセスし、トークン発行

以下ページにアクセス。右上のログインから、自分のLINEでログインする。

右上の自分の名前のプルダウンから、マイページを選択し、マイページに移動。
マイページに、以下のように「アクセストークンの発行(開発者向け)」とあるので、「トークンを発行する」ボタンを押す

↓の画面で、トークン名(利用目的など)を入れて、通知を送信するトークルームを選択。「発行する」ボタンを押してトークンを発行

以下のような画面で発行したトークンが表示されるので、コピーして閉じる。トークンは一度しか表示されないので、しっかりコピる。コピり忘れたら一旦連携解除し、再度発行すれば良いです。

発行したトークン

このあと、もし通知を送信するトークルームグループの場合、Line Notifyさんをグループに招待しておくこと。でないと通知来ません。
自分にだけ通知する場合は、トークルーム選択画面で「1:1でLINE Notifyから通知を受け取る」を選べばOKです。

2. Zapierで設定する

Googleフォームをトリガー、Code by Zapierをアクションとしたザップを作っていきます。

2-1 Googleフォーム - App & event

App & eventはGoogle Forms。
Eventは「New Form Response」と「New or Updated Form Response」がある。新しい投稿があったときだけ何かをしたいときは「New Form Response」を選ぶ。Googleフォームを更新可能設定にして、更新されたときも何かを行いたいときは「New or Updated Form Response」を選ぶ。

今回は、「New Form Response」です。

Googleフォームをトリガーとして設定

2-2 Googleフォーム - Account

Accountに自分の、というか通知を行いたいGoogleフォームのオーナーであるGoogleアカウントを設定する。

2-3 Googleフォーム - Trigger

LINEに通知を設定したいGoogleフォームを選ぶ

2-4 Googleフォーム - Test

既にいくつかフォームにデータがある場合はテスト可能。というか、ない場合はテストデータを投稿しておいて、テストするようにしましょう。




2-5 Code by Zapier - App & event

Code by Zapierをアプリとして選択し、Eventは「Run Python」を選ぶ


2-6 Code by Zapier - Action

Input Dataに変数名のように項目名を入力し、対応するGoogleフォームの項目を選んでいく。
入力する項目名に、「01 お名前」など、数字を振るとその順番でソートできるのでオススメ。
その後Pyghon Codeを書く。下記記載。

Code部に以下のようなPythonコードを書く。
tokenのXXXX部には、「1. LINE Notifyに自分のLINEでアクセスし、トークン発行」で取得したトークンをコピペすること。

import requests
# LINE Notifyで取得したアクセストークンを設定 
token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

def send_line(msg):
    # サーバーに送るパラメータを設定
    url = 'https://notify-api.line.me/api/notify'
    headers = {'Authorization': 'Bearer ' + token}
    payload = {'message': msg}
    requests.post(url, headers=headers, params=payload)

string = '「Googleフォーム」に新しい回答があります。'  

for key, value in input_data.items():
    string += f'\n{key}:\n{value}'  # キーと値を連結します。

# メッセージを送信 --- (*3)
send_line(string)

書いたらテスト。届けばOK。
ちなみに形式を変えたいときは、コード部分をChatGPTに指示して変えてもらうと楽です。
アクセストークン部分以外のコードをコピって、ChatGPTに指示しましょう。

まとめ

ということで、ZapierでCode by Zapieで、上記のように書けばなんでもLINEへ通知が可能です。いろいろつかってみてくださいね。


この記事が気に入ったらサポートをしてみませんか?