前提・実現したいこと
- LINEbotとユーザーとの一対一のやり取りにて
ユーザーが送ったメッセージ、送った時刻、ユーザーのdisplayName
を取得し、スプレッドシートに表示したい
- displayNameという変数に格納したい
- (できればユーザーのアイコン画像のURLも表示したい)
参考
https://teratail.com/questions/304140
こちらのページを参考にしました。
現在のコード
プログラミングを全く初めて行ったので、書き方が全く分からないです。
JavaScript
var TOKEN = "..."; function doPost(e) { var sheet; var userMessage = JSON.parse(e.postData.contents).events[0].message.text; var sheet = SpreadsheetApp.getActiveSheet(); var lastRow = sheet.getLastRow() + 1; const req = JSON.parse(e.postData.contents); const event = req.events[0]; const userId = event.source.userId; const endPoint = `https://api.line.me/v2/bot/profile/${userId}`; const res = UrlFetchApp.fetch(endPoint, { headers: { "Content-Type": "application/json; charset=UTF-8", Authorization: "Bearer " + TOKEN, }, method: "GET", }); const userDisplayName = JSON.parse(res.getContentText()).displayName; let dateCell = sheet.getRange(lastRow, 1); dateCell.setValue(new Date()); let messageCell = sheet.getRange(lastRow, 2); messageCell.setValue(userMessage); let usernameCell = sheet.getRange(lastRow, 3); usernameCell.setValue(userDisplayName); return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})) .setMimeType(ContentService.MimeType.JSON); }
まだ回答がついていません
会員登録して回答してみよう