前提・実現したいこと
■前提
GAS(Google Apps Script)を使ってChatBotを作りました。
現在はテキストのみ、毎日自動送信しています。
■実現したしこと
テキストだけではさみしいので、画像も付けたいと思っています!
画像を添付する方法がどうしてもわからず、教えて頂きたいです><
発生している問題・エラーメッセージ
Gmail宛には、画像を添付ファイルとして送信することができました。
(画像はGoogle Driveに保存しています)
GmailApp.sendEmail(宛先,件名,本文,添付ファイル);
Google ChatのBOTに画像が送れるよう、現在動いているソースコードを一部修正してみました。
(修正箇所はコメントを入れています)
しかし、一番下の「var response」にてエラーが発生しています。
optionの中身が誤っている・不足していることが原因かと思っていますが、上手く修正できずにおります><
アドバイス頂けますと大変助かります。よろしくお願いします。
function myFunction() { // ChatBotに送信するテキストをスプレッドシートから取得する var sprsheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/XXX/edit?usp=sharing"); // スプレッドシートの内、該当のシート名を取得する var objsheet = sprsheet.getSheetByName("テキスト用"); // 対象シートの内、テキスト送信したいセルを取得する var range1 = objsheet.getRange(2,1).getValue(); var range2 = objsheet.getRange(2,2).getValue(); // 【3行追加】画像をGoogleDriveから取得する var name = "XXX.png"; var pic = DriveApp.getFilesByName(name).next(); Logger.log(pic); // ChatBotのURL var url = "https://chat.googleapis.com/v1/space/XXX/messages?key=XXX"; // テキストの内容 text = range1 +"\n"+range2 var payload = { "text" : text, "thread" : { "name" : "spaces/XXX/threads/XXX" } } var json = JSON.stringify(payload); // 【5行コメントアウト】画像も添付できるように、現在動いているコードを下記に変更 // var options = { // "method" : "post", // "contentType" : 'application/json; charset=utf-8', // "payload" : json // } // 【4行追加】画像も添付できるように、現在動いている上記のコードを下記に変更する var options = { "method" : "post", "contentType" : "image/png", } var response = UrlFetchApp.fetch(url. options); }
■エラーメッセージ
Exception : Request failed for https://chat.googleapis.com returned code 400. Truncated server response: {
"error" : 400,
"message" : "Message cannot be empty.",
"status" : "INVALID_ARGUMENT"
}
あなたの回答
tips
プレビュー