
Google Apps ScriptïŒGASïŒãšLINE Notifyã䜿ã£ãŠãGoogleã«ã¬ã³ããŒã®äºå®ãLINEã§éç¥ããæ¹æ³
ã¿ãªãããããã«ã¡ã¯ããŸãã§ãã
å®¶æã®äºå®ç®¡çã£ãŠå€§å€ã§ãããç¹ã«åã©ããã¡ã®ç¿ãäºãåŠæ ¡ã®è¡äºãªã©ãæ¯æ¥ææ¡ããªããã°ãªããªãããšããããããããŸãã
å®¶æã®äºå®ç®¡çãããè¿·ããªãïŒ
ãããªäžãã¡ãã£ãšãã工倫ã§ç掻ãã©ã¯ã«ã§ããæ¹æ³ããããŸããããã¯ãGoogleã«ã¬ã³ããŒã®äºå®ãåå€ã«LINEã§éç¥ããŠãããã·ã¹ãã ã§ãã
以åãGmailã§åä¿¡ããåã©ãã®ç¿ãäºã®å ¥é宀éç¥ãLINEã§ç¥ãããæ¹æ³ãã·ã§ã¢ãããšãããäºæ³å€ã«ããããã®æ¹ã ãããåé¿ããã ãã倧å€å¬ããæããŸããã
X/Twitterã§ã¯ããªããš53äžå以äžã®ãã¥ãŒãç²åŸããŸããïŒ
åã©ãã®ç¿ãäºã®å ¥é宀éç¥ãšãå°åŠæ ¡ã®æ£ééééç¥ãšããããããç°ãªãã¢ããªãšGmailã§å±ããŠããŠã倫ãå šã確èªããªãã®ãå«ã ã£ããããGoogle Apps Scriptã§ã³ãŒããæžããŠãå šéšLINEã«éç¥ãæ¥ãããã«ããç¬ãäžç®æã§ç®¡çã§ããã®ã¯æã£ãŠãã以äžã«ããããããªæ°ãããïŒ
â ãŸã@åœç«å€§é¢åçç³»å°æ¥äž»å©Š (@m316jp2) January 31, 2024
Googleã«ã¬ã³ããŒãšLINE Notify飿ºã§å®çŸïŒåå€éç¥ã·ã¹ãã
ä»åã¯ããã«å¥ã®LINEæŽ»çšæ³ãGoogleã«ã¬ã³ããŒã«ç»é²ããå®¶æã®äºå®ããåå€ã«LINEã§ãç¥ããããä»çµã¿ãã玹ä»ããŸãã
èšå®æ¹æ³ãç»åä»ãã§äžå¯§ã«è§£èª¬
Google Apps ScriptãšLINE Notifyã䜿ãã°ãç°¡åã«ãã®ä»çµã¿ãèšå®ããããšãã§ããŸãã ãã²æåŸãŸã§ã芧ããã ãããå®¶æã®äºå®ç®¡çã䟿å©ã«ãããã³ãããåãåããã ããã
ãã®å°ããªå·¥å€«ã§ãäºå®ãå¿ããæ¯æ¥ãå¿«é©ã«éãããããã«ãªãããšã§ãããã
Google Apps ScriptïŒGASïŒãšLINE Notifyã䜿ã£ãŠãGoogleã«ã¬ã³ããŒã®äºå®ãLINEã§éç¥ããæ¹æ³
æ¯æ¥ã®å®¶æã®äºå®ãã¹ã ãŒãºã«ç®¡çããããã«ãGoogleã«ã¬ã³ããŒã®äºå®ã忥ã®å€ã«LINEã§éç¥ããã·ã¹ãã ãèšå®ããæé ã玹ä»ããŸãããã®æ¹æ³ãå©çšããã°ãå¿ããã¡ãªäºå®ãåãã£ãŠãªãã€ã³ããããç¿æ¥ã®æºåããããšæ¥œã«ãªããŸããããã§ã¯ãèšå®æ¹æ³ã«å
¥ãåã«å¿
èŠãªæºåããèŠãŠãããŸãããã
å¿ èŠãªæºå
Googleã¢ã«ãŠã³ãïŒGoogleã«ã¬ã³ããŒãšGASã䜿çšããããã«å¿ èŠã§ãã
LINEã¢ã«ãŠã³ãïŒéç¥ãåãåãããã«å¿ èŠã§ãã
LINE Notifyã®ããŒã¯ã³ïŒLINEã«éç¥ãéãããã«å¿ èŠã§ããLINE Notifyã®å ¬åŒãµã€ãã§ããŒã¯ã³ãçæããŸãã
1.LINE Notifyã§ã¢ã¯ã»ã¹ããŒã¯ã³ãååŸ
(1) PCã§LINE Notifyã®ãŠã§ããµã€ãã«ã¢ã¯ã»ã¹ããŸãã
(2) QRã³ãŒããèªã¿åã£ãŠãLINE Notify ãåéã«è¿œå ããŸãã

(3)LINEã¢ã«ãŠã³ãã§ãã°ã€ã³ããåŸããããŒã¯ã³ãçºè¡ããããéžæããŸãã

(4)çºè¡ããããŒã¯ã³ã®ååãå ¥åããéç¥ãåãåãããLINEã°ã«ãŒããéžæããŸãã

(5)ãçºè¡ãããããããšãããŒã¯ã³ãçæãããã®ã§ããããã³ããŒããŠãããŸãã

以äžã§ããŒã¯ã³ã®çºè¡ã¯å®äºã§ãã
2.Google Apps Scriptã䜿çšããŠã¹ã¯ãªãããäœæ
(1)Google Apps Scriptãéå§:
Googleãã©ã€ãã«ã¢ã¯ã»ã¹ãããGoogle Apps ScriptããéžæããŸãã
æ°ããã¹ã¯ãªãããšãã£ã¿ãéããŸãã

ïŒïŒïŒã¹ã¯ãªããã®å ¥å:
ããã«ãGoogleã«ã¬ã³ããŒã®äºå®ãåå€ã«LINEã§éç¥ããããã®ã¹ã¯ãªãããå ¥åããŸããåºæ¬çãªã¹ã¯ãªããã¯ã€ã³ã¿ãŒãããäžã§èŠã€ããããšãã§ããŸãããç§ã®æžããã¹ã¯ãªãããã³ããŒã»ã¢ã³ãã»ããŒã¹ãã§å€§äžå€«ã§ãã
//A,LINE Notifyãšæ¥ç¶ããèšå®
const LINE_NOTIFY_TOKEN = "**********************";
const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
// è€æ°ã®ã«ã¬ã³ããŒã®IDãšåå
const calendarInfo = [
{ id: '*************@group.calendar.google.com', name: 'å®¶æ' },
{ id: '*************@group.calendar.google.com', name: 'é·ç·' },
{ id: '*************@group.calendar.google.com', name: '次ç·' },
];
function sendMessage() {
// ã«ã¬ã³ããŒããååŸããæéã®èšå®
const today = new Date();
today.setDate(today.getDate() + 1); // 仿¥ã®æ¥ä»ã«1æ¥å ç®ããŠææ¥ã«èšå®
today.setHours(0); // åœæ¥ã®åå0æ
today.setMinutes(0); // å
today.setSeconds(0); // ç§
const tomorrow = new Date(today.getTime() + (24 * 60 * 60 * 1000)); // ç¿ãã
æ¥ã®åå0æ
// äºå®ãååŸããæ¥ä»ã®èšå®
const monthNum = today.getMonth() + 1; // æ
const dateNum = today.getDate(); // æ¥
const day = today.getDay(); // ææ¥
const dayArray = ['æ¥', 'æ', 'ç«', 'æ°Ž', 'æš', 'é', 'å'];
const thisDate = monthNum + "æ" + dateNum + "æ¥"; // ææ¥ã®æ¥ä»
let sendMessage = "\n" + thisDate + "(" + dayArray[day] + ")ã®äºå®ã¯ä»¥äžã®éãã§ãã\n\n";
// è€æ°ã®ã«ã¬ã³ããŒããäºå®ãååŸ
let events = [];
calendarInfo.forEach(function(calendar) {
var cal = CalendarApp.getCalendarById(calendar.id);
var calEvents = cal.getEvents(today, tomorrow);
calEvents.forEach(function(event) {
event.calendarName = calendar.name; // ã€ãã³ãã«ã«ã¬ã³ããŒåã远å
});
events = events.concat(calEvents);
});
// äºå®ã®å
å®¹ãæŽåœ¢ããŠã¡ãã»ãŒãžã«è¿œå
if (events.length === 0) {
sendMessage += "äºå®ã¯ãããŸããã";
} else {
events.forEach(function(event, index) {
const title = event.getTitle();
const startTime = formatDate(event.getStartTime());
const endTime = formatDate(event.getEndTime());
// ããã§ã«ã¬ã³ããŒã®ååãå«ãã
sendMessage += `${index + 1}. [${event.calendarName}] ${title} (${startTime} ~ ${endTime})\n- - - - - - - - - - -\n`;
});
}
// LINEã«éä¿¡
UrlFetchApp.fetch(LINE_NOTIFY_API, {
"method": "post",
"payload": "message=" + encodeURIComponent(sendMessage),
"headers": {"Authorization": "Bearer " + LINE_NOTIFY_TOKEN}
});
}
// æ¥æãHH:MM圢åŒã«æŽåœ¢ãã颿°
function formatDate(date) {
return Utilities.formatDate(date, Session.getScriptTimeZone(), 'HH:mm');
}ïŒïŒïŒå人ã§èšå®ã倿Žãå¿
èŠãªé
ç®
ã»ã¢ã¯ã»ã¹ããŒã¯ã³ã®èšå®: ã¹ã¯ãªããã®"************"ã®ãšããã«ãLINE NotifyããååŸããã¢ã¯ã»ã¹ããŒã¯ã³ãæžããŠãã ããã
const LINE_NOTIFY_TOKEN = "**********************";ã»ã«ã¬ã³ããŒIDãšãã®ååã®èšå®: æãå®¶ã§ã¯ãå®¶æãããããåå¥ã®Googleã«ã¬ã³ããŒãæã£ãŠããã®ã§ãåã«ã¬ã³ããŒããã®äºå®ããŸãšããŠéç¥ããŠããŸããããããã®ã«ã¬ã³ããŒIDãã¹ã¯ãªããã«è¿œå ããå šå¡ã®äºå®ãäžã€ã®ã¡ãã»ãŒãžã«ãŸãšããŠéç¥ã§ããŸãã
*************@group.calendar.google.comã®ãšããã¯ããèªèº«ã®ã«ã¬ã³ããŒIDãã'å®¶æ'ãâé·ç·âã®ãšãããããèªèº«ã§ãããããã倿ŽããŠãã ããã
// è€æ°ã®ã«ã¬ã³ããŒã®IDãšåå
const calendarInfo = [
{ id: '*************@group.calendar.google.com', name: 'å®¶æ' },
{ id: '*************@group.calendar.google.com', name: 'é·ç·' },
{ id: '*************@group.calendar.google.com', name: '次ç·' },
];
ã«ã¬ã³ããŒIDã®ç¢ºèªã®ä»æ¹ãããããªãå Žåã¯ããã¡ãã®èšäºãåèã«ãªããŸãã
ïŒïŒïŒããã°ã©ã ã®å®è¡:
ã»ããã°ã©ã ã®ä¿åïŒäœæããããã°ã©ã ãä¿åããŸããç»é¢äžéšã«ãããååãä»ããŠä¿åããéžæããããã°ã©ã ã«ã奜ã¿ã®ååãä»ããŸãã
ã»ããã°ã©ã ã®å®è¡ïŒä¿ååŸããšãã£ã¿äžéšã®ããããããŠã³ã¡ãã¥ãŒã颿°ãéžæããããsendMessageããéžæããŸãã
å³é£ã«ããå®è¡ãã¿ã³ïŒâ¶ïžããŒã¯ïŒãã¯ãªãã¯ããŸãã

åããŠã®å®è¡æã«ã¯ãGoogleããã®èš±å¯ãæ±ããããŸããç»é¢ã«è¡šç€ºãããèŠåã«æãããããã詳现ããã¯ãªãã¯ãããïŒå®å
šã§ã¯ãªãããŒãžãžïŒç§»åããéžæããŠé²ãã§ãã ããã
ç¶ããŠè¡šç€ºãããç»é¢ã§ãããã°ã©ã ã«å¿
èŠãªæš©éãèš±å¯ããŸãã
ïŒïŒããªã¬ãŒã®èšå®
ã¹ã¯ãªãããšãã£ã¿ã®ãããªã¬ãŒãç»é¢ãããã¹ã¯ãªãããæ¯æ¥ç¹å®ã®æéã«å®è¡ãããããã«èšå®ããŸããããã«ããã忥ã®å€ã«ç¿æ¥ã®äºå®ãèªåçã«LINEã«éç¥ãããããã«ãªããŸãã

ã¹ã¯ãªãããšãã£ã¿ã®å·Šäžã«ããæèšããŒã¯ã®ã¢ã€ã³ã³ãã¯ãªãã¯ãããããªã¬ãŒããéžæããŸãã
ç»é¢å³äžã«ãããïŒããªã¬ãŒã远å ããã¯ãªãã¯ããŸãã
ãå®è¡ãã颿°ãéžæãã§ãsendMessageããéžã³ãŸãã
ãã€ãã³ãã®ãœãŒã¹ãéžæãã§ã¯ãæéäž»å°åããéžæããŸãã
ãæéããŒã¹ã®ããªã¬ãŒã¿ã€ããéžæãã§ãæ¥ä»ããŒã¹ã®ã¿ã€ããŒããéžã³ãŸãã
ãæå»ãéžæãã§ãååŸïŒåããïŒæããéžæããŸããïŒã奜ããªæéã«èšå®ããŠãã ãããïŒ

ãããªæãã®LINEãå±ããŸãã

ãŸãšãïŒæ¥åžžç掻ãå€ããå°ããªäžæ©
ãã®èšäºãéããŠãGoogle Apps ScriptïŒGASïŒãšLINE Notifyã䜿ã£ããGoogleã«ã¬ã³ããŒã®äºå®ãLINEã§éç¥ããæ¹æ³ã詳ããã玹ä»ããŸãããæ¥ã ã®å¿ããã®äžã§ãå®¶æã®äºå®ãèŠèœãšããŠããŸãããšã¯èª°ã«ã§ãããããšã§ãããããããã®ã·ã³ãã«ãªããã匷åãªã·ã¹ãã ãèšå®ããããšã§ããã®ãããªå°ããªå¿ãç©ãæžãããæ¯æ¥ããã£ãšã¹ã ãŒãºã«éããããšãã§ããŸãã
æè¡ã®æŽ»çšããããããã®
æéã®ç¯çŽïŒèªååãããéç¥ã·ã¹ãã ã«ãããæåã§ã«ã¬ã³ããŒããã§ãã¯ããæéãçããŸãã
å¿ãç©ã®æžå°ïŒåæ¥ã®å€ã«ç¿æ¥ã®äºå®ããªãã€ã³ããããããšã§ã倧åãªäºå®ãèŠèœãšããªã¹ã¯ãæžãããŸãã
å®¶æéã®ã³ãã¥ãã±ãŒã·ã§ã³ã®åäžïŒå®¶æå šå¡ãäºå®ãå ±æãããããªãããšã§ããäºãã®èšç»ãçè§£ãåãããµããŒããããããªããŸãã
ãããªãäžæ©ãž
ä»åã玹ä»ããæ¹æ³ãšå¿çšäŸãåºã«ãèªåã®ã©ã€ãã¹ã¿ã€ã«ãå®¶æã®ããŒãºã«åãããŠãããã«ã«ã¹ã¿ãã€ãºãå ããŠã¿ãŠãã ãããäŸãã°ãç¹å®ã®äºå®ã«é¢ãããªãã€ã³ããŒãèšå®ãããã倩æ°äºå ±ãäºå®éç¥ã«å«ãããªã©ãããŸããŸãªå·¥å€«ãããããšã§ããã®ã·ã¹ãã ã®æçšæ§ãæå€§éã«åŒãåºãããšãã§ããŸãã
æè¡ã掻çšããŠæ¥åžžç掻ããã䟿å©ã«ããããšã¯ã決ããŠé£ããããšã§ã¯ãããŸããããã®èšäºããããªãã®ç掻ã«åœ¹ç«ã€ãã¯ãããžãŒãå°å ¥ãããã£ãããšãªãã°å¹žãã§ããæ¥ã ã®ç掻ãããäžæ©å¿«é©ã«ããããã®è©Šã¿ãããã²æ¥œããã§ãã ããã
ãŒãŒãŒãŒãŒãŒãŒãŒãŒãŒ
ç§ã®æžããæ¬ãåºçãããŸããïŒ
TwitterããããŸããïŒ
ã¡ãã£ãšçç³»ãªããã¡éã³ã®æ¬
Amazon 売ãçã©ã³ãã³ã° ã
幌å
æè² ã«ããŽãªãŒ ãææTop100
ãã¹ãã»ã©ãŒ1äœâšãã«ãªããŸããïŒ
ããããšãããããŸãïŒ
KindleUnlimited,ãããŒããŒããã¯ã§ãèªããŸãïŒ
