見出し画像

MyASP(マイスピー)とGoogleスプレッドシートを連携する方法(マイスピーのデータをスプレッドシートに出す編)

MyASPの設定代行やコンサルをしていると、よくZapier連携できませんか?という声をいただきます。

ZapierのWebhookっていうのをつかえばできるんですが、Zapierにもお金を払うことになってしまいます。

でも実は、直接やりとりできることが多いので、一度仕組み化してしまったら設定変更することはあまりないと思いますし、払うお金はできるだけ少なくしたい…ので、直接MyASPとSpreadSheetを繋ぐ方法をご紹介します。

1.スプレッドシート側の設定

シートを作成して、Apps Scriptを作成します。

Apps Scriptをクリック

データを入力させる専用シートを作成して、GASと呼ばれるプログラムを書く準備をしていきます。

メニューの「拡張機能」>「Apps Script」を選択します。

するとこんな画面が開きます。

Apps Scriptの画面

そしたら、下記を全部まるごとコピーして、上書きします。

function doPost(req){
// POSTされたマイスピーのパラメータを取得
var mail = req.parameter.mail;
var name1 = req.parameter.name1;
var name2 = req.parameter.name2;
var free1 = req.parameter.free1;
var free2 = req.parameter.free2;

// スプレッドシートの情報を取得
var spread_sheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spread_sheet.getActiveSheet();

// 最終行の次の行にデータを追記します
var data = [ mail, name1, name2, free1, free2 ];

sheet.appendRow(data);
}

上書き保存します

mailとかname1とかfree1とかは、欲しいデータをほしい分だけ3〜7行目までのところと、14行目のところを書き換えます。

保存したら、右上の「デプロイ」>「新しいデプロイ」をクリックします。

新しいデプロイをクリック

出てきた画面の「種類の選択」のところにある歯車アイコンをクリックして、「ウェブアプリ」をクリックします。

ウェブアプリをクリック

説明のところに必要な説明をいれて、「ウェブアプリ」は「自分」のまま、「アクセスできるユーザー」を「全員」にします。

新しいデプロイのアクセスできるユーザーを全員にします

そしたら右下の「デプロイ」をクリックします。
こんな画面になるので「アクセスを承認」します。

アクセスを承認

Googleのアカウントの承認画面がでてくるので、スプレッドシートを作成したアカウントを選択して、「許可」をクリックします。

許可

この画面が出る前に、セキュリティがうんたらこうたら…って言われたら、続行するみたいな選択をするとたどり着けると思います。

するとデプロイ完了なので、ウェブアプリURLの「コピー」ボタンをクリックしてURLをコピーします。

もし右下の完了ボタンを押しちゃって消しちゃった!という場合も大丈夫。
右上の「デプロイ」>「デプロイの管理」から何回でも見れます。

デプロイの完了

2.マイスピー側の設定

マイスピー側ではデータを出したいシナリオのステップメールの配信後に実行するコマンドで対応します。

ステップメールで対応することで、好きなタイミングでデータを出力することができるためです。

このとき、メールを送りたくなければ、「ユーザーにはメールを送らない」にチェックを入れておきます。

ユーザーにはメールを送らない


で、先程作成した新しいデプロイのコピーしたURLを、「外部システムへの連動登録」のURLに貼り付けてあげます。

データは必要なやつをキー名=値とするので、
mail=%mail%のようにマイスピーの書式に則って書いておきます。
(Apps Scriptのほうに書いたやつと揃えます)

外部システムへの連動登録

3.テスト登録してみる

これで、このステップメールが流れれば、自動的にスプレッドシートにもデータが展開されます。あとは煮るなり焼くなりご自由にできるかと思います!

4.わからなければ…

上記でわからない場合にはTwitterからご連絡いただければ対応できると思います。ご連絡ください!


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