【超初心者向け】大学のPCでも大丈夫!Gemini × LINEチャットボットを完全無料で自作する(GAS使用)
はじめに
「生成AIを使ったチャットボットを作ってみたい!」
そう思って調べると、Pythonやローカルサーバーを使う記事がたくさん出てきます。しかし、大学や企業のネットワーク環境では**「ポート制限」や「ファイアウォール」**の壁に阻まれ、自分のPCでサーバーを立てるのが難しいことがあります。
そこで今回は、Google Apps Script (GAS) を使って、大学のPCや厳しいネットワーク環境でも100%確実に動く、Gemini搭載LINEボットの作り方を解説します。
なぜこの方法なのか?
- 環境構築ゼロ: ブラウザさえあればOK。黒い画面(ターミナル)は使いません。
- ポート開放不要: プログラムはGoogleのサーバー上で動くため、学内Wi-Fiの制限を受けません。
- 完全無料: GoogleアカウントとLINEアカウントがあれば0円です。
- 24時間稼働: 自分のPCを閉じてもボットは動き続けます(Google Colabとの最大の違いです)。
完成イメージ
仕組みはシンプルです。私たちのPCは「設定」をするだけで、実際の通信はGoogleとLINEの間で行われます。
準備するもの
- Googleアカウント
- LINEアカウント
ステップ1:Geminiの「鍵」を入手する
まずはAI(Gemini)をプログラムから操作するためのパスワード(APIキー)を取得します。
- Google AI Studio にアクセスします。
- 「Create API key」 をクリックします。
- 「Create API key in new project」 を選択します。
- 表示された文字列(例:
AIzaSy...)をコピーして、メモ帳などに保存しておきます。- ※このキーは他人に教えないでください。
ステップ2:LINEの「容れ物」を作る
LINE公式アカウント(Botのアカウント)を作成します。
- LINE Developersコンソール にアクセスし、自分のLINEアカウントでログインします。
- 「新規プロバイダー作成」 を押し、適当な名前(例:MyBot)を入力して作成します。
-
「新規チャネル作成」 をクリックし、「Messaging API」 を選択します。
- 国/地域: 日本
- チャネル名: ボットの名前(LINE上で表示される名前です)
- 業種: 個人・教育など適当でOK
- 入力が終わったら規約に同意して「作成」をクリック。
- 作成後の画面で、以下の2つを探してメモ帳にコピーします。
- チャネルシークレット(「チャネル基本設定」タブの下の方)
- チャネルアクセストークン(長期)(「Messaging API設定」タブの一番下。「発行」ボタンを押すと出ます)
ステップ3:プログラムを作成する (GAS)
ここが心臓部です。ブラウザ上で動く「Google Apps Script」を使います。
- ブラウザで Google Apps Script にアクセスします。
- 左上の 「新しいプロジェクト」 をクリックします。
- エディタ画面が開くので、もともと書いてあるコードを全て消し、以下のコードを貼り付けてください。
// ==========================================
// 設定エリア (ここを書き換えてください)
// ==========================================
const LINE_CHANNEL_ACCESS_TOKEN = 'ここにLINEのアクセストークンを貼り付け';
const GEMINI_API_KEY = 'ここにGeminiのAPIキーを貼り付け';
// ==========================================
// LINEからメッセージが届いたときに動く関数
function doPost(e) {
try {
// 届いたデータを読み取る
const json = JSON.parse(e.postData.contents);
const event = json.events[0];
// メッセージ以外(スタンプなど)は無視
if (event.type !== 'message' || event.message.type !== 'text') {
return;
}
const userMessage = event.message.text; // ユーザーのメッセージ
const replyToken = event.replyToken; // 返信用のチケット
// 1. Geminiに質問を投げる
const botReply = callGemini(userMessage);
// 2. LINEに返信する
sendLineReply(replyToken, botReply);
} catch (error) {
console.log(error);
}
return ContentService.createTextOutput(JSON.stringify({content: "post ok"})).setMimeType(ContentService.MimeType.JSON);
}
// Gemini APIを叩く関数
function callGemini(text) {
const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${GEMINI_API_KEY}`;
const payload = {
"contents": [{
"parts": [{ "text": text }]
}]
};
const options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload),
'muteHttpExceptions': true
};
try {
const response = UrlFetchApp.fetch(url, options);
const json = JSON.parse(response.getContentText());
// Geminiからの回答を抽出
return json.candidates[0].content.parts[0].text;
} catch (e) {
return "すみません、AIの呼び出しに失敗しました。";
}
}
// LINEに返信する関数
function sendLineReply(replyToken, message) {
const url = 'https://api.line.me/v2/bot/message/reply';
const payload = {
'replyToken': replyToken,
'messages': [{
'type': 'text',
'text': message
}]
};
const options = {
'method': 'post',
'headers': {
'Authorization': 'Bearer ' + LINE_CHANNEL_ACCESS_TOKEN
},
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(url, options);
}
- コード上部の
'ここにLINEの...'と'ここにGeminiの...'の部分を、ステップ1, 2でメモした内容に書き換えます。- ※シングルクォーテーション
' 'は消さないで、その中身だけ書き換えてください。
- ※シングルクォーテーション
-
Ctrl + S(MacはCmd + S) で保存します。
ステップ4:デプロイ(世界へ公開)
ここが最大のつまずきポイントです。慎重に進めてください。
- 画面右上の青いボタン 「デプロイ」 → 「新しいデプロイ」 をクリック。
- 「種類の選択」の歯車アイコン ⚙️ を押し、 「ウェブアプリ」 を選択。
- 以下の設定にします(重要!):
- 説明: 空欄でもOK
- 次のユーザーとして実行: 「自分」
-
アクセスできるユーザー: 「全員」
- ※ここを「全員」にしないと、LINEからの通信がブロックされて動きません。
- 「デプロイ」ボタンをクリック。
-
「アクセスを承認」 という画面が出ます。
- 自分のアカウントを選択 → 「このアプリはGoogleにより確認されていません」と出たら左下の 「詳細」 → 「(安全ではないページ)に移動」 → 「許可」 と進みます。
- ※自作アプリなので警告が出ますが、自分しか使わないので安全です。
- 完了すると 「ウェブアプリのURL」 が発行されます。これをコピーします。
ステップ5:LINEと紐付け
最後に、LINE側に「このURLにメッセージを送ってね」と教えます。
- LINE Developersコンソール に戻り、「Messaging API設定」タブを開きます。
- 「Webhook URL」 の「編集」をクリックし、先ほどコピーしたURLを貼り付けて「更新」します。
- その下に出る 「Webhookの利用」 スイッチを必ず ON にします。
- 「検証」ボタンを押し、「成功」と表示されれば完了です!
実際に試してみる
LINE Developersの画面にあるQRコードをスマホで読み取り、友だち追加してください。
「こんにちは」「今日の夕飯の献立を考えて」などと話しかけ、AIから返信が来れば大成功です!
おわりに
この構成は、PCの電源を切ってもGoogleのサーバー上で動き続けます。
大学の課題制作や、ちょっとしたツール作りに最適です。慣れてきたら、プロンプトを変えて「関西弁で話すBot」や「英語の先生Bot」などにカスタマイズしてみてください。