回答編集履歴
2
a
answer
CHANGED
@@ -1,22 +1,23 @@
|
|
1
1
|
```javascripit
|
2
2
|
const lineToken = "LINE コード";
|
3
3
|
|
4
|
-
function
|
5
|
-
const
|
6
|
-
|
4
|
+
function q219287() {
|
5
|
+
const today = new Date();
|
6
|
+
const tomorrow = (new Date()).setDate(today.getDate() + 1);
|
7
|
+
[["きょう",today, getEvents(today)],["あした",tomorrow,getEvents(tomorrow)]].filter(function(e) { return e[2].length > 0;}).forEach(function(e){ sendToLine(e[0]+toTime(e[1])+'\n'+eventAsText(e[2]));});
|
8
|
+
}
|
9
|
+
function getEvents(thedate) {
|
10
|
+
return CalendarApp.getAllCalendars().map(function (cal) {
|
11
|
+
return [cal.getName(), getEventsStartsInTheDay(cal, thedate)];
|
7
12
|
}).filter(function (e) {
|
8
13
|
return e[1].length > 0;
|
9
14
|
});
|
15
|
+
}
|
10
|
-
|
16
|
+
function eventAsText(events) {
|
11
|
-
return;
|
12
|
-
} // quit if there's no events for today.
|
13
|
-
|
17
|
+
return events.map(function (e) {
|
14
18
|
return '◆ ' + e[0] + '\n' + e[1].map(eventToString).join('\n\n');
|
15
19
|
}).join('\n');
|
16
|
-
const head = toTime(new Date()) + "\n";
|
17
|
-
sendToLine(head + eventsAsText);
|
18
20
|
}
|
19
|
-
|
20
21
|
function sendToLine(text) {
|
21
22
|
const token = lineToken;
|
22
23
|
const options = {
|
@@ -31,11 +32,10 @@
|
|
31
32
|
return Utilities.formatDate(str, 'JST', "HH:mm");
|
32
33
|
}
|
33
34
|
|
34
|
-
function
|
35
|
+
function getEventsStartsInTheDay(calendar, thedate) {
|
35
|
-
const today = new Date();
|
36
|
-
const
|
36
|
+
const dateNum = thedate.getDate();
|
37
|
-
return calendar.getEventsForDay(
|
37
|
+
return calendar.getEventsForDay(thedate).filter(function (e) {
|
38
|
-
return e.getStartTime().getDate() ===
|
38
|
+
return e.getStartTime().getDate() === dateNum;
|
39
39
|
});
|
40
40
|
}
|
41
41
|
|
1
あ
answer
CHANGED
@@ -1,57 +1,9 @@
|
|
1
|
-
今日中に終わるものだけにするやつ。直すならこうかな。
|
2
1
|
```javascripit
|
3
|
-
function main() {
|
4
|
-
|
5
|
-
var calendars = CalendarApp.getAllCalendars();
|
6
|
-
|
7
|
-
var text = "";
|
8
|
-
|
9
|
-
for(i in calendars) {
|
10
|
-
|
11
|
-
var calendar = calendars[i];
|
12
|
-
|
13
|
-
var events = calendar.getEventsForDay(new Date());
|
14
|
-
|
15
|
-
if( events.length > 0 ) {
|
16
|
-
|
17
|
-
text += "◆ " + calendar.getName() + "\n";
|
18
|
-
|
19
|
-
}
|
20
|
-
|
21
|
-
for(j in events) {
|
22
|
-
|
23
|
-
var event = events[j];
|
24
|
-
if(event.getEndTime().getDate() !== (new Date()).getDate()) {continue;}
|
25
|
-
|
26
|
-
var title = event.getTitle();
|
27
|
-
|
28
|
-
var start = toTime(event.getStartTime());
|
29
|
-
var end = toTime(event.getEndTime());
|
30
|
-
|
31
|
-
text += start + ' - ' + end + "\n" + " " + title + '\n\n';
|
32
|
-
|
33
|
-
}
|
34
|
-
|
35
|
-
// if( events.length > 1 ) {
|
36
|
-
//
|
37
|
-
// sendToLine(text) += "\n";
|
38
|
-
//
|
39
|
-
// }
|
40
|
-
|
41
|
-
}
|
42
|
-
if(text === "") {return;}
|
43
|
-
sendToLine(Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + "\n" + text);
|
44
|
-
|
45
|
-
}
|
46
|
-
```
|
47
|
-
|
48
|
-
合ってるか検証してないけど、私ならこうかく。
|
49
|
-
```javascript
|
50
2
|
const lineToken = "LINE コード";
|
51
3
|
|
52
4
|
function main() {
|
53
5
|
const events = CalendarApp.getAllCalendars().map(function (cal) {
|
54
|
-
return [cal.getName(),
|
6
|
+
return [cal.getName(), getEventsStartsToday(cal)];
|
55
7
|
}).filter(function (e) {
|
56
8
|
return e[1].length > 0;
|
57
9
|
});
|
@@ -79,11 +31,11 @@
|
|
79
31
|
return Utilities.formatDate(str, 'JST', "HH:mm");
|
80
32
|
}
|
81
33
|
|
82
|
-
function
|
34
|
+
function getEventsStartsToday(calendar) {
|
83
35
|
const today = new Date();
|
84
36
|
const thedate = today.getDate();
|
85
|
-
return
|
37
|
+
return calendar.getEventsForDay(today).filter(function (e) {
|
86
|
-
return e.
|
38
|
+
return e.getStartTime().getDate() === thedate
|
87
39
|
});
|
88
40
|
}
|
89
41
|
|