💻 GASからメッセージ送信
取得したAPIトークンを使って、実際にメッセージを送信してみましょう
💾 ステップ1:APIトークンをGASに保存
まず、前のセクションで取得したAPIトークンをGASの プロパティサービスに保存します。
プロパティサービスは、GAS専用の「安全な保管庫」のようなものです。 ここにAPIトークンを保存することで、コードに直接書かなくても済むため、セキュリティが向上しますよ。
なぜプロパティサービスを使うのか?
APIトークンをコード内に直接書いてしまうと、そのコードを他の人に見せた時に、 トークンが漏洩してしまう危険があります。 プロパティサービスを使えば、トークンはコードとは別の場所に安全に保存されるため、 コードを共有しても安心ですよ。
📝 APIトークンを保存するコード
function setChatworkApiToken() {
// プロパティサービスを取得
const scriptProperties = PropertiesService.getScriptProperties();
// APIトークンを保存
scriptProperties.setProperty('CHATWORK_API_TOKEN', 'YOUR_API_TOKEN_HERE');
Logger.log('APIトークンを保存しました');
}
🔧 実行手順
- 1. 上記のコードをGASエディタに貼り付けます
-
2.
YOUR_API_TOKEN_HEREの部分を、実際に取得したAPIトークンに置き換えます - 3. 関数を実行します(初回のみ実行すればOKです)
- 4. 実行後は、このコードは削除しても構いません(トークンは保存されています)
クリックで拡大表示
⚠️ セキュリティ上の注意
トークンをプロパティサービスに保存した後は、コード内からトークンの文字列を削除しておきましょう。 また、GASプロジェクトを他の人と共有する場合でも、プロパティサービスの内容は共有されないため、 トークンが漏洩する心配はありませんよ。
🆔 ステップ2:ルームIDを取得
チャットワークでメッセージを送信するには、ルームIDが必要です。 ルームIDは、送信先のグループチャットを特定するための番号です。
ルームIDの確認方法は2つあります。 URLから取得する方法と、グループチャット設定画面から確認する方法です。 どちらも簡単なので、やりやすい方法を選んでくださいね。
📋 方法1:URLからルームIDを確認
チャットワークで送信先のルームを開く
メッセージを送信したいグループチャットやダイレクトメッセージを開きます。
URLを確認
ブラウザのアドレスバーに表示されているURLを確認します。 URLは以下のような形式になっています:
https://www.chatwork.com/#!rid12345678
「rid」の後の数字がルームID
URLのridの後に続く数字が、
そのルームのルームIDです。
上の例では、12345678がルームIDになります。
この数字をメモしておきましょう。
📋 方法2:グループチャット設定画面から確認(おすすめ)
グループチャットを開く
メッセージを送信したいグループチャットを開きます。
グループチャットの設定を開く
グループチャット画面の右上にある設定アイコン(歯車マーク)をクリックして、 「グループチャットの設定」を選択します。
「チャット情報」タブでルームIDを確認
設定ダイアログが開いたら、「チャット情報」タブを選択します。 画面下部に「ルームID」が表示されているので、この数字をメモしておきましょう。
クリックで拡大表示
💡 ヒント
ルームIDは、送信先ごとに異なります。 複数のルームに送信したい場合は、それぞれのルームIDを確認して使い分けましょう。 また、自分専用のテストルームを作って、そこでメッセージ送信のテストをするのがおすすめですよ。
📤 ステップ3:メッセージ送信コードを作成
それでは、いよいよチャットワークにメッセージを送信するコードを作成しましょう。 以下のコードで、GASからチャットワークに自動的にメッセージを送信できますよ。
📝 完全なメッセージ送信コード
function sendChatworkMessage() {
// プロパティサービスからAPIトークンを取得
const scriptProperties = PropertiesService.getScriptProperties();
const apiToken = scriptProperties.getProperty('CHATWORK_API_TOKEN');
// ルームID(送信先のルーム)
const roomId = '12345678'; // ここに実際のルームIDを入力
// 送信するメッセージ
const message = 'GASからの自動送信テストです!';
// APIエンドポイント
const url = `https://api.chatwork.com/v2/rooms/${roomId}/messages`;
// リクエストオプション
const options = {
'method': 'POST',
'headers': {
'X-ChatWorkToken': apiToken
},
'payload': {
'body': message
}
};
// API呼び出し
try {
const response = UrlFetchApp.fetch(url, options);
Logger.log('メッセージ送信成功: ' + response.getContentText());
} catch (error) {
Logger.log('エラー: ' + error.message);
}
}
🔍 コードの詳しい解説
1. APIトークンの取得
const apiToken = scriptProperties.getProperty('CHATWORK_API_TOKEN');
ステップ1で保存したAPIトークンを、プロパティサービスから取得しています。 これにより、コード内にトークンを直接書かなくても済みます。
2. ルームIDの指定
const roomId = '12345678';
ステップ2で確認したルームIDを指定します。
この例では12345678となっていますが、
実際にはあなたのルームIDに置き換えてくださいね。
3. メッセージの内容
const message = 'GASからの自動送信テストです!';
送信したいメッセージの内容を指定します。 この部分を変更することで、好きなメッセージを送信できます。
4. APIエンドポイントの指定
const url = `https://api.chatwork.com/v2/rooms/${roomId}/messages`;
チャットワークAPIのメッセージ送信用エンドポイントを指定しています。
${roomId}の部分に、先ほど指定したルームIDが埋め込まれます。
5. リクエストオプションの設定
const options = { ... }
APIを呼び出すための設定です。
method: 'POST'でPOSTリクエストを指定し、
headersにAPIトークンを含めています。
payloadには送信するメッセージ本文を指定しています。
6. エラーハンドリング
try { ... } catch (error) { ... }
APIの呼び出しが失敗した場合のエラー処理を行っています。 エラーが発生した場合は、ログにエラーメッセージが記録されるため、 問題の原因を特定しやすくなりますよ。
🚀 コードの実行手順
- 1. 上記のコードをGASエディタに貼り付けます
-
2.
roomIdを、実際のルームIDに置き換えます -
3.
messageを、送信したい内容に変更します - 4. 関数を実行します
- 5. チャットワークで、メッセージが届いているか確認します!
クリックで拡大表示
クリックで拡大表示
🎉 成功した場合
コードの実行が成功すると、指定したチャットワークのルームにメッセージが届きます。 ログには「メッセージ送信成功」と表示されますよ。 もし届かない場合は、ルームIDやAPIトークンが正しいか確認してみてくださいね。
📝 このセクションのまとめ
皆さん、GASからチャットワークにメッセージを送信する方法について理解できましたでしょうか?
- ✓ APIトークンはプロパティサービスに保存することで、セキュアに管理できます
- ✓ ルームIDは、チャットワークのURLから確認できます
- ✓ UrlFetchApp.fetchを使ってチャットワークAPIを呼び出します
- ✓ エラーハンドリングを入れることで、問題が発生した時も安心です
次のセクションでは、実際の業務で使える活用例を3つ紹介します。 Googleフォームやスプレッドシートと組み合わせた実用的なツールを見ていきましょう!