前提・実現したいこと
Google Apps Scriptを使ってスプレッドシートとslackを連携させようとしています。
スプレッドシートの該当セルをslack上に投稿するといったものです。
発生している問題・エラーメッセージ
function postSlack 実行時に
UrlFetchApp.fetch(url, options);
にて下記エラーが表示されます。
https://hooks.slack.com のリクエストに失敗しました(エラー: 400)。 サーバー応答の一部: missing_text_or_fallback_or_attachments (応答の全文を見るには muteHttpExceptions オプションを使用してください)
該当のソースコード
function postSlack() { var obj = SpreadsheetApp.openById('スプレッドシートのID'); var sheet = obj.getSheetByName('スプレッドシートのシート名'); var range = sheet.getRange('該当セル'); var values = range.getValues(); var text = values; var payload = { 'text' : text, 'username' : '吾輩', 'channel' : 'チャンネル名', 'icon_emoji': ':アイコン:', }; var options = { 'method' : 'post', 'contentType' : 'application/json', 'payload' : JSON.stringify(payload), }; var url = 'Incoming WebhookのURL'; UrlFetchApp.fetch(url, options); }
試したこと
ネットで色々と探し、
"muteHttpExceptions" : true,
"validateHttpsCertificates" : false,
"followRedirects" : false,
というものを入れたり、try〜catchというのも試してみましたが、slack上には吐き出されませんでした。
また、**「'text':text」の箇所を「'text':'テスト'」**といった形で文字にすると吐き出されました。
GASをかじりたての初心者ですので、試したことがあっているかどうかもわかりかねるのですが、
解決法をご教示いただけると大変助かります。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/08 09:49
2019/10/08 23:14
2019/10/10 09:04