やりたいこと
・スプレッドシートのF列にSlackのスレッドTSが書き込んであります。D列のセルが空でなければ、F列のスレッドTSをSlackにchat.postMessageメソッドを使用し返信する機能。
実現できた箇所
・チャンネルににメッセージを送信する。
・poseDataのthread_tsを手入力するとスレッドに送信できる。
出来ない箇所
・スプレッドシートのF列にあるスレッドTSにメッセージが飛ばず、チャンネルに通常投稿されてしまう。
備考
・F列のセルのデータ型を調べたところ、object型だったので文字列に変換してみたりJSON.stringify(ts)を使用してみたりしたが効果なし。
・一部宣言が書いていない変数があるが、すべて宣言済み。
どこがおかしいかご教授願えないでしょうか。
セル内のスレッドTSは0000000000.000000の形式です。
よろしくお願いいたします。
追記:for文やIF文を外してみて「var ts = sheet.getRange(2,6).getValue」をthread_tsに設定してもできなかったので、問題はスプレッドシートのセルの値が読み込めないか渡せないかどちらかの問題だと思います。
Json形式に変換が必要でしょうか??
GAS
1 for (var t = 1; t<=lastRow2; t++) 2 { 3 var reactioncheck = sheet.getRange(t,4).getValue(); 4 if(reactioncheck === "") 5 { 6 var ts = sheet.getRange(t,6).getValues; 7 message = "あいうえお"; 8 var url2 = "https://slack.com/api/chat.postMessage"; 9 var postData = 10 { 11 "token" : `botトークン`, 12 "channel" : 'チャンネルID', 13 "text" : message, 14 "thread_ts" : JSON.stringify(ts) 15 } 16 17 var options = 18 { 19 "method" : "POST", 20 "contentType": "application/x-www-form-urlencoded", 21 "payload" : postData 22 23 } 24 25 var respose = UrlFetchApp.fetch(url2,options); 26 27 break; 28 29 } 30 } 31}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/02 02:17
退会済みユーザー
2021/09/02 03:30 編集
2021/09/03 05:39