前提・実現したいこと
GASとLine messaging apiを用いてスプレッドシートに、受け取ったメッセージを書き込む
機能を作りたいのですが、うまく動作させることができません。
発生している問題・エラーメッセージ
GASの実行数の項目からは、失敗しましたとだけ表示され、
一部は、不明と書かれていました。
該当のソースコード
GAS
1//LINE Developersで取得したアクセストークンを入れる 2var CHANNEL_ACCESS_TOKEN = 'token'; 3var line_endpoint = 'https://api.line.me/v2/bot/message/reply'; 4 5function doPost(e) { 6 var json = JSON.parse(e.postData.contents); 7 8 var reply_token= json.events[0].replyToken; 9 if (typeof reply_token === 'undefined') { 10 return; 11 } 12 13 //送られたメッセージ内容を取得 14 var message = json.events[0].message.text; 15 16//出力部分 17 emo(message); 18 19 // メッセージを返信 20 UrlFetchApp.fetch(line_endpoint, { 21 'headers': { 22 'Content-Type': 'application/json; charset=UTF-8', 23 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, 24 }, 25 'method': 'post', 26 'payload': JSON.stringify({ 27 'replyToken': reply_token, 28 'messages': [{ 29 'type': 'text', 30 'text': message, 31 }], 32 }), 33 }); 34 return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); 35 36} 37 38 39function emo(message) { 40 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('talk'); 41 var lastRow1 = sheet.getRange(1, 3).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow()//修正部分①UPをDOWNに修正 42 sheet.getRange(lastRow1+1, 3).setValue(message); 43}
試したこと
関数に分けずに、dopostないに書き込んで見たり
返信部分を削除してみたりして見ましたが、書き込めませんでした。
なお、OAUTHは通っているので、sheet.getRange(1, 3).setValue(”message”);
としてみた所、該当セルに確かに、messageと入力されていました。
回答2件
あなたの回答
tips
プレビュー