![見出し画像](https://assets.st-note.com/production/uploads/images/112830766/rectangle_large_type_2_8a99d5f78264c146c78868d7ade5f3d2.png?width=1200)
Zapierで自動化GoogleフォームをLINE受信(Pythonコード付き)
ZapierでGoogleフォームの新着内容をLINE受信できるようにしました。
「LINE Notify」を使えば意外に簡単に出来たので書いておきます。
![](https://assets.st-note.com/img/1690718825262-9eLswu2NQy.png?width=1200)
1. LINE Notifyに自分のLINEでアクセスし、トークン発行
以下ページにアクセス。右上のログインから、自分のLINEでログインする。
右上の自分の名前のプルダウンから、マイページを選択し、マイページに移動。
マイページに、以下のように「アクセストークンの発行(開発者向け)」とあるので、「トークンを発行する」ボタンを押す
![](https://assets.st-note.com/img/1691470295794-k4pZoLaSRg.png?width=1200)
↓の画面で、トークン名(利用目的など)を入れて、通知を送信するトークルームを選択。「発行する」ボタンを押してトークンを発行
![](https://assets.st-note.com/img/1691470448497-2BO1DrHFHF.png?width=1200)
以下のような画面で発行したトークンが表示されるので、コピーして閉じる。トークンは一度しか表示されないので、しっかりコピる。コピり忘れたら一旦連携解除し、再度発行すれば良いです。
![](https://assets.st-note.com/img/1691470650426-FawL5KDciE.png?width=1200)
このあと、もし通知を送信するトークルームグループの場合、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」です。
![](https://assets.st-note.com/img/1691471433052-kvMMNdFQK3.png?width=1200)
2-2 Googleフォーム - Account
Accountに自分の、というか通知を行いたいGoogleフォームのオーナーであるGoogleアカウントを設定する。
![](https://assets.st-note.com/img/1691471683592-OVXm6vdkNB.png?width=1200)
2-3 Googleフォーム - Trigger
LINEに通知を設定したいGoogleフォームを選ぶ
![](https://assets.st-note.com/img/1691471808513-gETmheZYoW.png?width=1200)
2-4 Googleフォーム - Test
既にいくつかフォームにデータがある場合はテスト可能。というか、ない場合はテストデータを投稿しておいて、テストするようにしましょう。
![](https://assets.st-note.com/img/1691472036161-yttQjrCp0W.png?width=1200)
2-5 Code by Zapier - App & event
Code by Zapierをアプリとして選択し、Eventは「Run Python」を選ぶ
![](https://assets.st-note.com/img/1691471952426-zcyYLTJusI.png?width=1200)
2-6 Code by Zapier - Action
Input Dataに変数名のように項目名を入力し、対応するGoogleフォームの項目を選んでいく。
入力する項目名に、「01 お名前」など、数字を振るとその順番でソートできるのでオススメ。
その後Pyghon Codeを書く。下記記載。
![](https://assets.st-note.com/img/1691472459432-rrFNTVpLHV.png?width=1200)
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へ通知が可能です。いろいろつかってみてくださいね。