【完全解説】6ステップで実現!GPTs スプレッドシート連携方法
GPTsで外部のAPIを呼び出して、データを取得したいなぁ
そのお悩み解決しましょう!
- GPTsとは
- GPTsをスプレッドシートへ連携する方法
本記事では「GPTs スプレッドシート連携方法」について紹介します。
記事を読めばGPTsへスプレッドシートを連携することができます。
この記事は5分で読めます!
GPTsについてはこちらの記事を参考にご覧ください。
はじめに
GPTsは、OpenAIが開発したカスタマイズ可能なChatGPTサービスです。
主な特徴は次の通りです
- ノーコードでのカスタムGPT作成: 簡単な操作で特定のニーズに合わせたChatGPTを作れます。
- ツールの共有と収益化: 作成したツールを公開し、将来的には収益化も可能です。
- APIとの連携: 外部APIとの連携で、より正確な情報を提供でき、ChatGPTの誤情報問題を解決します。
この機能は現在、ChatGPT Plusプランのユーザーのみが利用できます
今回はGPTsのカスタムアクションを使って外部APIを呼び出し、プロンプトを連鎖させて画像を一度に4枚生成する手順をご紹介します。
GPTs スプレッドシート連携方法
Step1 Googleスプレッドシートを作成
今回のサンプルのGoogleスプレッドシートです。
A列:番号(4桁の数字)
B列:プロンプト
作成したGoogleスプレッドシートのスプレッドシートIDをテキストエディタなどにコピペしてください。
→次の手順で使用します。
Step2 Google Apps Scriptを作成
①スプレッドシートの拡張機能よりApps Scriptを選択。
②Apps Scriptのエディタが開きます。
③こちらの□に以下のコードを貼り付けます。
function doGet(e) {
// リクエストからパラメータを取得
console.log(“start GPTs Custom Actions API test”);
console.log(“e: ” + JSON.stringify(e));
var searchQuery = e.parameter.id;
console.log(“e.parameter.id: ” + e.parameter.id);
// 4桁の数字かどうかをチェック
if (!searchQuery || !/^\d{4}$/.test(searchQuery)) {
console.log(“bad format: ” + searchQuery);
return ContentService.createTextOutput(
JSON.stringify({ “error”: “Invalid request. Please provide a 4-digit number.” })
).setMimeType(ContentService.MimeType.JSON);
}
// スプレッドシートの準備
var sheet = SpreadsheetApp.openById(‘ここは書き換える’).getSheetByName(‘シート1’);
var data = sheet.getDataRange().getValues();
console.log(“format OK”);
// スプレッドシートを検索
for (var i = 1; i < data.length; i++) { // 2行目から開始
if (data[i][0].toString() === searchQuery) {
console.log(“hit: ” + i);
console.log(“prompt: ” + data[i][1]);
// 見つかった場合、JSONとして返す
return ContentService.createTextOutput(
JSON.stringify({ “prompt”: data[i][1]})
).setMimeType(ContentService.MimeType.JSON);
}
}
console.log(“not found”);
// 一致するデータが見つからない場合
return ContentService.createTextOutput(
JSON.stringify({ “error”: “No data found for the provided number.” })
).setMimeType(ContentService.MimeType.JSON);
}
④SpreadsheetApp.openById の箇所に先ほどコピーしてひかえたスプレッドシートIDを貼り付けます。
※openById:14fDv9vsg4TCET8WD_3uPE2V3eg5cmiVDSBmUuDPJ5kA
Step3 Google Apps Scriptをデプロイ
①画面右上の「デプロイ」をクリック、続いて「新しいデプロイ」をクリック。
②⚙より「ウェブアプリ」をクリック
③アクセルできるユーザーを「全員」へ変更し、「デプロイ」をクリック。
④「アクセスを承認」をクリック
⑤Googleアカウントを接続する
⑥「Advanced」をクリック
⑦「Go to 無題のプロジェクト(unsafe)」をクリック
⑧「Allow」をクリック
⑨ウェブアプリURLをコピーし、完了をクリック
Step4 GPTsを作成
①Chat GPTを開く
https://chat.openai.com/
②My GPTsの「Create a GPT」をクリック
③「Configure」をクリック
Step5 GPTsのCustom Actionsを設定
①画面下の「Add actions」をクリック
②Schemaに以下のコードを張り付ける
{
“openapi”: “3.1.0”,
“info”: {
“title”: “Get prompt data”,
“description”: “Get prompt by id”,
“version”: “v1.0.0”
},
“servers”: [
{
“url”: “https://script.google.com/”
}
],
“paths”: {
“/macros/s/AKfycbzEaeMP70jKO_FMaTwyqpNoG_mIk-DcGAMOnd1WfddACkTMZqLC2zUFQfdo7AyzEVpS/exec”: {
“get”: {
“description”: “Get prompt by id”,
“operationId”: “GetPromptByid”,
“parameters”: [
{
“name”: “id”,
“in”: “query”,
“description”: “ID No.”,
“required”: true,
“schema”: {
“type”: “string”
}
}
],
“deprecated”: false
}
}
},
“components”: {
“schemas”: {
“NameResponse”: {
“type”: “object”,
“properties”: {
“prompt”: {
“type”: “string”
}
}
}
}
}
}
③デプロイしたURLの一部(/macros以下)を□へ張り付ける
macros/s/AKfycbzlETq-ZmFDLyzqCIkpmp2XDcaqtJHxSSUOyYuffROY0BGHOJw4hbQAvgQ6mor2–rz/exec
④Instructionsへカスタムプロンプトを入力
⑤下へスクロールし、CapabilitiesのDALL-Eにチェック(今回画像生成のため)
⑥画面右上「Save」をクリック。
- Only me :自分だけ使用可能
- Only people with a link :URLリンクを共有すると誰でも使用可能
- Public :誰でも使用可能
Step6 実行
①メッセージを入力し、「Allow」または「Always allow」をクリック
②スプレッドシートに記載したように画像が生成される
【スプレッドシート】
補足
Custom ActionsがあるGPTsの公開について
Custom Actions の Privacy Policy(プライバシーポリシー)が空白だと、「Only people with a link」または「Public」で第三者に公開できません
Google Siteでプライバシーポリシーのページを用意できます。
プライバシーポリシーのサイトはこちら
プライバシーポリシーサイトのURLをPrivacy Policyへ貼り付けしてください。
まとめ
GPTsとGoogleスプレッドシートの統合は、データ処理と自動化を効率化します。
ノーコードでのカスタムGPT作成により、プログラミング知識がなくても高度な自動化が可能になります。
また、API連携により、GPTsはより正確な情報提供が可能になり、様々なビジネスや研究分野での活用が拡大します。
この技術の進化により、革新的なアプリケーションやサービスの開発が期待されます。