GASからSlackにメッセージを送信する方法【GAS】

■はじめに

GASからSlackにメッセージを送信する方法を記載します。

Slackのワークスペースを作成しておいてください。

■Slackアプリの作成

こちらにアクセスし、Slackのワークスペースにサインインする。

※サインインしたら、Slackのワークスペースが表示されるので、別タブでもう一度「こちら」を開く

「Create New App」を押下し、適当なアプリ名とワークスペースを選択してアプリを作成する。

サイドメニューの「Incoming Webhooks」を押下する。

Active Incoming WebhooksをONにする。

画面下部の「Add New Webhook to Workspace」を押下する。

使用するチャンネルを選択して、「許可する」を押下する。

「Copy」を押下する事で、クリップボードAPIで使用するURLがコピーされる。

■GASでメッセージを送信

ソースコードの全量は以下。

※「apiUrl」変数には、「■Slackアプリの作成」手順で取得したAPIのURLを設定する事。

function sendMessage() {
var payload  = {
'text' : "HELLO"
};
var options = {'method':'post', 'contentType':'application/json', 'payload':JSON.stringify(payload)};
var apiUrl = "https://hooks.slack.com/services/XXXXXXXXX/ZZZZZZZZZZZ/YYYYYYYYYYYYYYYYYYYYYYYY"
UrlFetchApp.fetch(apiUrl, options);
}

GASでGoogleカレンダーの予定を取得する方法【GAS】

■はじめに

事前にカレンダーに予定を設定しておいてください。

■手順

ソースコードの全量は以下

※「[Googleのメールアドレス]」はそれぞれ置き換えてください。

function calSample(){
var cal = CalendarApp.getCalendarById("[Googleのメールアドレス]");
var date = new Date();
var events = cal.getEventsForDay(date);
for(var i = 0; i < events.length; i++){
var title = events[i].getTitle();
Logger.log(title);
}
}

以下で、Googleカレンダーインスタンスを生成します。

var cal = CalendarApp.getCalendarById("[Googleのメールアドレス]");

以下で、当日の日付を取得します。

var date = new Date();

以下で、当日のカレンダーの予定を全て取得します。

var events = cal.getEventsForDay(date);

上記で取得した予定をFor文でループさせて、タイトルをログに出力しています。

for(var i = 0; i < events.length; i++){
var title = events[i].getTitle();
Logger.log(title);
}

■翌日の予定を取得する方法

ソースコードの全量は以下

※「[Googleのメールアドレス]」はそれぞれ置き換えてください。

function calSample(){
var cal = CalendarApp.getCalendarById("[Googleのメールアドレス]");
var date = new Date();
date.setDate(date.getDate() + 1);
var events = cal.getEventsForDay(date);
for(var i = 0; i < events.length; i++){
var title = events[i].getTitle();
Logger.log(title);
}
}

元々、new Dateで当日の日付を取得していましたが、以下で+1日を設定しています。

これで、翌日のカレンダーの予定が取得できます。

date.setDate(date.getDate() + 1);

GASのエラーの解決方法【GAS】

■あれもこれも Google ドライブ

GASを開こうとした際に、以下のように「現在、ファイルを開くことができません。」と出る場合があります。

これは、1つのブラウザで複数のGoogleDriveを開いているなどして、どのGoogleアカウントかが判別できないために発生している可能性があります。

解決策としては、以下のいずれかです。

GoogleChrome(使用しているブラウザ)を再起動する。

・プライベートブラウザで起動する。

GoogleAppScriptとは【GAS】

Google App Scriptとは

GoogleAppScript(GASと呼ばれます)とは、Googleが提供しているプログラミング言語です。

基本的には、JavaScriptと同じ書き方ができます。

GASの利点として、Googleが提供しているサービス(スプレットシートやGmailなど)との連携が容易に行える点です。

(例えば、特定のタイトルのGmailが送られてきたら、スプレットシートに転記するなど)

■GASを使用する前の準備

Googleアカウントを作成しておいてください。

GoogleDriveで、色々作業をします。

■GASの使い方

GoogleDriveでスプレットシートを作成し、開きます。

「ツール」の「スクリプトエディタ」を選択します。

これで、GASを使用する準備ができました。

面倒な環境構築などは一切必要ありません。

■GASの関数実行

「関数を選択」のプルダウンから、実行したい関数を選択し、「スタートボタン」を押下することで実行できます。

ちなみに、初回実行時には、権限確認が表示されますので、画面の操作にしたがって許可してください。

■コンソールログの出力

GASのコンソールログは以下の書き方で出力できます。

Logger.log("コンソールログ");

出力したログは、「command + Enter」を押下するか、「表示」の「ログ」を選択する事で確認できます。