質問編集履歴

1

ソースコードとエラーメッセージが不足しておりましたので、追記しました。

2021/02/03 15:15

投稿

oyoyoo
oyoyoo

スコア0

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  Gmail宛には、画像を添付ファイルとして送信することができました。
20
20
 
21
- (画像はGoogle Driveに保存しています)
21
+ (画像はGoogle Driveに保存しています)
22
22
 
23
23
  ```
24
24
 
@@ -26,24 +26,130 @@
26
26
 
27
27
  ```
28
28
 
29
- Google Chatに画像が送れるよう、記載してみました。
29
+ Google ChatのBOTに画像が送れるよう、現在動いているソースコードを一部修正してみました。
30
30
 
31
- しかしoptionの中身が誤っている・不足しているようでエラーが表示され、chatに画像を送信できない状態で
31
+ (修正箇所はコメントを入れてい)
32
32
 
33
+ しかし、一番下の「var response」にてエラーが発生しています。
34
+
35
+ optionの中身が誤っている・不足していることが原因かと思っていますが、上手く修正できずにおります><
36
+
33
- option辺りについて、アドバイス頂けますと大変助かります。よろしくお願いします。
37
+ アドバイス頂けますと大変助かります。よろしくお願いします。
38
+
39
+ ```ここに言語を入力
40
+
41
+
42
+
43
+ function myFunction() {
44
+
45
+
46
+
47
+ // ChatBotに送信するテキストをスプレッドシートから取得する
48
+
49
+ var sprsheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/XXX/edit?usp=sharing");
50
+
51
+
52
+
53
+ // スプレッドシートの内、該当のシート名を取得する
54
+
55
+ var objsheet = sprsheet.getSheetByName("テキスト用");
56
+
57
+
58
+
59
+ // 対象シートの内、テキスト送信したいセルを取得する
60
+
61
+ var range1 = objsheet.getRange(2,1).getValue();
62
+
63
+ var range2 = objsheet.getRange(2,2).getValue();
64
+
65
+
66
+
67
+ // 【3行追加】画像をGoogleDriveから取得する
68
+
69
+ var name = "XXX.png";
70
+
71
+ var pic = DriveApp.getFilesByName(name).next();
72
+
73
+ Logger.log(pic);
74
+
75
+
76
+
77
+ // ChatBotのURL
78
+
79
+ var url = "https://chat.googleapis.com/v1/space/XXX/messages?key=XXX";
80
+
81
+
82
+
83
+ // テキストの内容
84
+
85
+ text = range1 +"\n"+range2
86
+
87
+
88
+
89
+ var payload = {
90
+
91
+ "text" : text,
92
+
93
+ "thread" : {
94
+
95
+ "name" : "spaces/XXX/threads/XXX"
96
+
97
+ }
98
+
99
+ }
100
+
101
+
102
+
103
+ var json = JSON.stringify(payload);
104
+
105
+
106
+
107
+ // 【5行コメントアウト】画像も添付できるように、現在動いているコードを下記に変更
108
+
109
+ // var options = {
110
+
111
+ // "method" : "post",
112
+
113
+ // "contentType" : 'application/json; charset=utf-8',
114
+
115
+ // "payload" : json
116
+
117
+ // }
118
+
119
+
120
+
121
+ // 【4行追加】画像も添付できるように、現在動いている上記のコードを下記に変更する
122
+
123
+ var options = {
124
+
125
+ "method" : "post",
126
+
127
+ "contentType" : "image/png",
128
+
129
+ }
130
+
131
+
132
+
133
+
134
+
135
+ var response = UrlFetchApp.fetch(url. options);
136
+
137
+
138
+
139
+ }
140
+
141
+
34
142
 
35
143
  ```
36
144
 
37
- var file = DriveApp.getFilesByName(ファイル名).next(); //ファイル取得(ここまではOK)
145
+ ■エラーメッセージ
38
146
 
39
- var option ={
147
+ > Exception : Request failed for https://chat.googleapis.com returned code 400. Truncated server response: {
40
148
 
41
- "method" : "POST",
149
+ "error" : 400,
42
150
 
151
+ "message" : "Message cannot be empty.",
152
+
43
- "contentType" : "image/png"
153
+ "status" : "INVALID_ARGUMENT"
44
154
 
45
155
  }
46
-
47
- var response = UrlFetchApp.fetch(url, option);
48
-
49
- ```