ChatGPT × GAS × LINEで自動通知を送る方法

目次

ChatGPT × GAS × LINEで自動通知を送る方法【AIでメッセージ自動配信】

「ChatGPTで作った文章をLINEに自動で送れたら便利なのに…」 そんな方におすすめなのが、ChatGPT × Google Apps Script(GAS) × LINE Messaging API の連携です。

この記事では、ChatGPTが生成したメッセージをGAS経由でLINEに自動送信する方法を、初心者でもできるようにステップ形式で解説します。

全体の流れ

  1. LINE公式アカウントを作成してトークンを取得
  2. ChatGPT(OpenAI)のAPIキーを取得
  3. GASでChatGPT APIを呼び出し → メッセージ生成
  4. 生成したメッセージをLINEへ送信
  5. トリガー設定で定期実行(自動化)

① LINE公式アカウントでトークンを取得

まず、LINE Developers にアクセスして、「プロバイダー」と「Messaging APIチャネル」を作成します。

  • チャネルアクセストークン(長期) … 後でGASで使用します
  • Botの応答設定 … 「応答メッセージ」をOFFにしておきましょう(自動メッセージとの競合を防ぐため)

作成後、チャネル基本設定画面から「チャネルアクセストークン(長期)」をコピーしておきます。

② ChatGPTのAPIキーを取得

次に、OpenAIの公式サイトでAPIキーを取得します。 OpenAI APIキー発行ページ にアクセスし、「+ Create new secret key」をクリックしてキーを発行します。

このキーは、後でGASの「スクリプトプロパティ」に保存して安全に使います。

③ GASでスクリプトを作成

Googleスプレッドシートを開き、上部メニューから「拡張機能 → Apps Script」を開きます。 以下のコードを貼り付けてください。

function sendChatGPTtoLINE() {
  const OPENAI_KEY = PropertiesService.getScriptProperties().getProperty("OPENAI_API_KEY");
  const LINE_TOKEN = PropertiesService.getScriptProperties().getProperty("LINE_TOKEN");
  const USER_ID = PropertiesService.getScriptProperties().getProperty("LINE_USER_ID");

  // ChatGPTへの質問内容
  const prompt = "今日の天気を踏まえて、元気が出る朝のメッセージを作って";

  // ChatGPT API呼び出し
  const url = "https://api.openai.com/v1/chat/completions";
  const payload = {
    model: "gpt-3.5-turbo",
    messages: [{ role: "user", content: prompt }],
    temperature: 0.7
  };

  const options = {
    method: "post",
    headers: { Authorization: "Bearer " + OPENAI_KEY },
    contentType: "application/json",
    payload: JSON.stringify(payload)
  };

  const response = UrlFetchApp.fetch(url, options);
  const result = JSON.parse(response.getContentText());
  const message = result.choices[0].message.content.trim();

  // LINE通知
  const lineUrl = "https://api.line.me/v2/bot/message/push";
  const linePayload = {
    to: USER_ID, // 自分のユーザーIDを指定
    messages: [{ type: "text", text: message }]
  };

  UrlFetchApp.fetch(lineUrl, {
    method: "post",
    headers: { "Authorization": "Bearer " + LINE_TOKEN },
    contentType: "application/json",
    payload: JSON.stringify(linePayload)
  });

  Logger.log("送信完了:" + message);
}

ポイント:

  • LINE_TOKEN: Messaging APIの「チャネルアクセストークン」
  • OPENAI_API_KEY: OpenAIのAPIキー
  • LINE_USER_ID: LINE公式アカウントで友達登録後、「ユーザーID取得ツール」などで取得可能

④ スクリプトプロパティを設定

GASのメニューから「設定 → プロジェクトのプロパティ → スクリプトのプロパティ」を開き、以下を登録します。

キー
OPENAI_API_KEY(取得したChatGPT APIキー)
LINE_TOKEN(LINEチャネルアクセストークン)
LINE_USER_ID(自分のユーザーID)

⑤ テスト実行とトリガー設定

  1. 「関数を選択 → sendChatGPTtoLINE → ▶実行」
  2. 初回のみ「権限の承認」→「続行」→「許可」
  3. LINEにChatGPTからのメッセージが届けば成功!
  4. 「トリガー」→「関数を選択:sendChatGPTtoLINE」→「時間主導型」→「毎朝8時」などを設定

これで、毎朝ChatGPTが自動でメッセージを生成し、LINEに配信してくれるようになります。

⑥ 応用アイデア(業務利用に発展)

  • 毎朝「今日の天気+元気メッセージ」を自動送信
  • ChatGPTが日報を自動生成 → LINEで共有
  • スプレッドシートの売上データを要約 → LINEに自動報告
  • Googleフォームの新規回答をChatGPTが要約 → LINE通知

トラブル対策

  • 通知が届かない: LINE_USER_ID または アクセストークンを再確認。
  • ChatGPTエラー: API使用制限やJSON形式エラー。Logger.log(result)で内容を確認。
  • トリガーが動かない: 「時間主導型」に設定し、スクリプト承認を再度行う。

まとめ

ChatGPT × GAS × LINEを組み合わせることで、 「AIが考え、GASが動かし、LINEが届ける」自動化の仕組みを簡単に作ることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次