GASとChatGPT API連携:業務効率化の第一歩!
/ 初心者向け
GASとChatGPT API連携:業務効率化の第一歩!
皆さん、こんにちは!Google Apps Script (GAS) の専門ブロガーです。
近年、AI技術の進化は目覚ましく、中でもOpenAIが提供するChatGPTは、その自然な対話能力で世界中を驚かせています。この強力なAIを、普段皆さんが使い慣れているGoogle Workspace(Gmail, スプレッドシート, ドキュメントなど)と連携させることができたら、どれほど業務効率が向上するでしょうか?
今回は、GASとChatGPT APIを連携させる方法を、初心者の方にも分かりやすく解説していきます。この連携をマスターすれば、あなたの業務は劇的に変わるかもしれません!
なぜGASとChatGPT APIを連携させるのか?
GASとChatGPT APIを連携させることで、以下のようなことが可能になります。
- メールの自動返信・要約: 受信したメールの内容をChatGPTに要約させたり、定型文で自動返信したりできます。
- ドキュメントの自動生成・校正: ブログ記事のアイデア出し、議事録の要約、メール文面の作成・校正などを自動化できます。
- スプレッドシートのデータ分析・洞察: スプレッドシートのデータを基に、ChatGPTに分析させ、示唆に富む洞察を得られます。
- フォームからの問い合わせへの自動応答: Googleフォームで受け取った問い合わせに対し、ChatGPTが回答を生成して返信します。
- コード生成・デバッグ支援: GASのコード作成や、既存コードのデバッグをChatGPTに手伝ってもらうことができます。
これらの例はほんの一部です。アイデア次第で、さらに多くの可能性が広がります。
連携に必要なもの
1. Googleアカウント: GASを使うために必要です。
2. OpenAIアカウント: ChatGPT APIを利用するために必要です。
3. OpenAI APIキー: APIを利用するための認証情報です。
4. GASの基本的な知識: プログラミング経験がなくても大丈夫ですが、簡単なスクリプトが書ける程度だとスムーズです。
OpenAI APIキーの取得方法
まず、OpenAIのウェブサイトにアクセスし、アカウントを作成します。ログイン後、「API keys」のセクションから新しいAPIキーを生成してください。このAPIキーは、他人に知られないように厳重に管理してください。
GASでChatGPT APIを呼び出す基本的な流れ
GASからChatGPT APIを呼び出すには、UrlFetchAppというGASの組み込みサービスを使用します。基本的な流れは以下の通りです。
1. APIエンドポイントの設定: ChatGPT APIのURLを指定します。
2. リクエストヘッダーの設定: APIキーを含めた認証情報や、コンテンツタイプを設定します。
3. リクエストボディの作成: OpenAI APIに送信するプロンプト(指示)やモデル名などをJSON形式で記述します。
4. UrlFetchApp.fetch() でAPIを呼び出す: 設定したヘッダーとボディでAPIリクエストを送信します。
5. レスポンスの解析: APIからの応答(ChatGPTの生成したテキストなど)をJSON形式で受け取り、必要な情報を抽出します。
サンプルコード:簡単な質問応答スクリプト
それでは、簡単な質問応答スクリプトの例を見てみましょう。これは、GASのスクリプトエディタに直接貼り付けて実行できます。
function askChatGPT() {
// あなたのOpenAI APIキーに置き換えてください
const OPENAI_API_KEY = 'YOUR_OPENAI_API_KEY';
const API_URL = 'https://api.openai.com/v1/chat/completions';
// ユーザーからの質問(例)
const userQuestion = 'Google Apps Scriptとは何ですか?';
const payload = {
'model': 'gpt-3.5-turbo',
'messages': [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': userQuestion}
],
'max_tokens': 150
};
const options = {
'method': 'post',
'contentType': 'application/json',
'headers': {
'Authorization': 'Bearer ' + OPENAI_API_KEY
},
'payload': JSON.stringify(payload)
};
try {
const response = UrlFetchApp.fetch(API_URL, options);
const jsonResponse = JSON.parse(response.getContentText());
if (jsonResponse.choices && jsonResponse.choices.length > 0) {
const answer = jsonResponse.choices[0].message.content;
Logger.log('ChatGPTからの回答: ' + answer);
return answer;
} else {
Logger.log('回答が見つかりませんでした。');
return '回答が見つかりませんでした。';
}
} catch (e) {
Logger.log('エラーが発生しました: ' + e.toString());
return 'エラーが発生しました: ' + e.toString();
}
}
コードの解説:
YOUR_OPENAI_API_KEYの部分を、あなたが取得した実際のAPIキーに置き換えてください。userQuestionには、ChatGPTに尋ねたい内容を記述します。modelには、使用するChatGPTのモデルを指定します(例:gpt-3.5-turbo)。messagesは、会話の履歴を保持するための配列です。roleにはsystem(AIの役割設定) やuser(ユーザーの発言) を指定します。max_tokensは、生成されるテキストの最大長を制限します。
このスクリプトを実行すると、Logger.log によってログにChatGPTからの回答が出力されます。この回答を、Gmailの送信やスプレッドシートへの書き込みなどに活用できます。
応用例:Gmailの自動要約
この基本スクリプトを応用すれば、Gmailの未読メールを自動で要約するといったことも可能です。
1. Gmailのトリガーを設定し、新しいメールが届いた際にGASを実行する。
2. メール本文を取得し、ChatGPT APIに要約を依頼する。
3. 要約結果を、別途スプレッドシートに記録したり、特定のラベルを付けたりする。
このように、GASとChatGPT APIの連携は、定型業務の自動化や、より高度な情報処理を実現するための強力なツールとなります。
まとめ
今回は、Google Apps ScriptとChatGPT APIを連携させる基本的な方法と、その応用例について解説しました。最初は難しく感じるかもしれませんが、一つずつコードを理解し、試していくことで、必ず習得できます。
ぜひ、この連携をあなたの業務に取り入れて、効率化の第一歩を踏み出してください!次回のブログでは、より実践的な応用例について深掘りしていきたいと思います。お楽しみに!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。