タイトル通りですが、こちらの質問の続きです。
LINE_USER_IDをwebhookを使って取得し、最終的には複数の端末にGmailから取得してきた情報を同様の内容を流したいと考えております。
前回の質問で、webhookを利用してLINE_USER_IDを獲得すればいいとわかりましたが、参考にした記事でうまく行きませんでした。
gmail取得するプロジェクトとは分けて、userIDだけ取得するプロジェクトを立ち上げて実験しています。
下記が全コードです。
var access_token = '**********************'; function doPost(e) { var events = JSON.parse(e.postData.contents).events; events.forEach(function(event) { if(event.type == "message") { reply(event); } else if(event.type == "follow") { follow(event); } else if(event.type == "unfollow") { unFollow(event); } }); } function follow(e) { // 追記 console.log("フォロー確認"); var spreadsheet = SpreadsheetApp.openById('****************'); //スプレッドシートの指定 var sheet = spreadsheet.getActiveSheet(); //シートを取得する sheet.appendRow([e.source.userId]); //ユーザーIDをシートに追加する // sheet.appendRow(['ユーザーID']); //ユーザーIDをシートに追加する } function unFollow(e){ // 追記 console.log("アンフォロー確認"); var spreadsheet = SpreadsheetApp.openById('****************'); var sheet = spreadsheet.getActiveSheet(); var result = findRow(sheet, e.source.userId, 1); if(result > 0){ sheet.deleteRows(result); } } function findRow(sheet,val,col){ var data = sheet.getDataRange().getValues(); for(var i=0; i < data.length; i++){ if(data[i][col-1] === val){ return i+1; } } return 0; }
follow関数を単体で実行して見るとスプレッドシートに「ユーザーID」という文字が書き込まれました。
['ユーザーID']の部分を[e.source.userId]に書き換えて
sheet.appendRow([e.source.userId])
とした場合、フォロー解除ブロックを繰り返してもスプレッドシートにuseridはかきこまれませんでした。
調べてもよくわかない状態なので、ご教授頂きたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/07 07:21 編集
2020/06/07 07:28
2020/06/07 07:32 編集
2020/06/07 07:39
2020/06/07 07:42
2020/06/07 07:47
2020/06/07 07:53 編集
2020/06/07 08:02 編集
2020/06/07 08:02
2020/06/07 08:05 編集
2020/06/07 09:00