質問編集履歴

1

必要ないエラーメッセージの項目を削除

2017/11/01 09:53

投稿

marshmallowmash
marshmallowmash

スコア7

test CHANGED
File without changes
test CHANGED
@@ -134,132 +134,124 @@
134
134
 
135
135
 
136
136
 
137
+ ###該当のソースコード
138
+
139
+
140
+
141
+ IDやトークンなどは念のためxxxxxで伏字にしております。
142
+
137
143
  ```
138
144
 
145
+ function sendNewsToChatwork() {
146
+
147
+
148
+
149
+ //現在のスプレッドシートを取得
150
+
151
+ var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
152
+
153
+ //現在のシートを取得
154
+
155
+ var sheet = spreadsheet.getActiveSheet();
156
+
157
+ //最後の行を取得
158
+
159
+ var rowSheet=sheet.getDataRange().getLastRow();
160
+
161
+
162
+
163
+ //チャットワークトークン
164
+
165
+ var client = ChatWorkClient.factory({token:'xxxxxxxxxxxxxxxx'});
166
+
167
+ //投稿するチャットルームのID
168
+
169
+ var room_id = xxxxxxxx;
170
+
171
+
172
+
173
+ //フィードからデータを取得
174
+
175
+ for( var i=1;i<=rowSheet;i++ ) {
176
+
177
+ //RSSのURL一覧が入っているセルを取得
178
+
179
+ var range = sheet.getRange(i,1).getValue();
180
+
181
+ //GoogleアラートのRSSフィード
182
+
183
+ var feedURL = range;
184
+
185
+ //サイト名取得
186
+
187
+ var sitetitle = sheet.getRange(i,2).getValue();
188
+
189
+ //サイト名を流す
190
+
191
+ // client.sendMessage({room_id: room_id, body: "<" + sitetitle + ">"});
192
+
193
+
194
+
195
+
196
+
197
+ var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');
198
+
199
+ var document = XmlService.parse(UrlFetchApp.fetch(feedURL).getContentText());
200
+
201
+ var items = document.getRootElement().getChildren('entry', atom);
202
+
203
+
204
+
205
+
206
+
207
+ //取得した件数分チャットワークへ投稿
208
+
209
+ for(var j = 0; j < items.length; j++) {
210
+
211
+ //サイトのURLを取得
212
+
213
+ var link = items[j].getChild('link', atom).getAttribute('href').getValue();
214
+
215
+ //サイトのタイトルを取得
216
+
217
+ var title = items[j].getChild('title', atom).getText();
218
+
219
+ //URLとタイトルを連結
220
+
221
+ if (j == 0){
222
+
223
+ var message = "<" + sitetitle + ">" + "\n" +  title + "\n" + link;
224
+
139
- エラーメッセージ
225
+ }else{ 
226
+
227
+ var message = title + "\n" + link;
228
+
229
+ }
230
+
231
+ }
232
+
233
+
234
+
235
+ //HTMLタグを除去してチャットワークへ投稿
236
+
237
+ client.sendMessage({room_id: room_id, body: message.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'')});
238
+
239
+ }
240
+
241
+
242
+
243
+ /*//テスト投稿
244
+
245
+ client.sendMessage({room_id: room_id, body: range});*/
246
+
247
+ }
248
+
249
+
140
250
 
141
251
  ```
142
252
 
143
253
 
144
254
 
145
- ###該当のソースコード
146
-
147
-
148
-
149
- IDやトークンなどは念のためxxxxxで伏字にしております。
150
-
151
- ```
152
-
153
- function sendNewsToChatwork() {
154
-
155
-
156
-
157
- //現在のスプレッドシートを取得
158
-
159
- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
160
-
161
- //現在のシートを取得
162
-
163
- var sheet = spreadsheet.getActiveSheet();
164
-
165
- //最後の行を取得
166
-
167
- var rowSheet=sheet.getDataRange().getLastRow();
168
-
169
-
170
-
171
- //チャットワークトークン
172
-
173
- var client = ChatWorkClient.factory({token:'xxxxxxxxxxxxxxxx'});
174
-
175
- //投稿するチャットルームのID
176
-
177
- var room_id = xxxxxxxx;
178
-
179
-
180
-
181
- //フィードからデータを取得
182
-
183
- for( var i=1;i<=rowSheet;i++ ) {
184
-
185
- //RSSのURL一覧が入っているセルを取得
186
-
187
- var range = sheet.getRange(i,1).getValue();
188
-
189
- //GoogleアラートのRSSフィード
190
-
191
- var feedURL = range;
192
-
193
- //サイト名取得
194
-
195
- var sitetitle = sheet.getRange(i,2).getValue();
196
-
197
- //サイト名を流す
198
-
199
- // client.sendMessage({room_id: room_id, body: "<" + sitetitle + ">"});
200
-
201
-
202
-
203
-
204
-
205
- var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');
206
-
207
- var document = XmlService.parse(UrlFetchApp.fetch(feedURL).getContentText());
208
-
209
- var items = document.getRootElement().getChildren('entry', atom);
210
-
211
-
212
-
213
-
214
-
215
- //取得した件数分チャットワークへ投稿
216
-
217
- for(var j = 0; j < items.length; j++) {
218
-
219
- //サイトのURLを取得
220
-
221
- var link = items[j].getChild('link', atom).getAttribute('href').getValue();
222
-
223
- //サイトのタイトルを取得
224
-
225
- var title = items[j].getChild('title', atom).getText();
226
-
227
- //URLとタイトルを連結
228
-
229
- if (j == 0){
230
-
231
- var message = "<" + sitetitle + ">" + "\n" +  title + "\n" + link;
232
-
233
- }else{ 
234
-
235
- var message = title + "\n" + link;
236
-
237
- }
238
-
239
- }
240
-
241
-
242
-
243
- //HTMLタグを除去してチャットワークへ投稿
244
-
245
- client.sendMessage({room_id: room_id, body: message.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'')});
246
-
247
- }
248
-
249
-
250
-
251
- /*//テスト投稿
252
-
253
- client.sendMessage({room_id: room_id, body: range});*/
254
-
255
- }
256
-
257
-
258
-
259
- ```
260
-
261
-
262
-
263
255
  ###試したこと
264
256
 
265
257
  現在【URLとタイトルを連結】の箇所に入っているサイト名をはき出す部分を【サイト名取得】の下にコメントアウトしてある部分を使って別にしてみたところ、下記のようにそれぞれのRSSの一つ目のURLのみ出るようになりました。