2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GPTsにスプシ連携させてスプシの内容を実行

Posted at

内容

GPTsのactionsを使って外部ツールと連携させることが出来る。この機能を使ってスプシを連携する
テーマを入力するとタイトル案と目次構成、記事作成、アイキャッチ作成までを行うGPTsを作成

設定方法

  1. ChatGPTのTOP画面のexploreをクリック

  2. GPT Storeの+Create a GPTをクリック
    スクリーンショット 2023-12-24 15.59.49.png

  3. 設定画面が表示される
    スクリーンショット 2023-12-24 16.00.21.png
    4.Configureをクリックするとこの画面が表示される
    スクリーンショット 2023-12-24 16.07.40.png
    スクリーンショット 2023-12-24 16.09.53.png

  4. actionを使ってAPIを使って外部と連携させる事で外部で操作した内容をMyGPTsに持ってきて情報のやり取りが可能になる。

  5. 上記の手順でMyGPTsを新規に作成して以下の内容をそれぞれに入力する

スクリーンショット 2023-12-24 16.31.29.png
スクリーンショット 2023-12-24 16.31.44.png

7.APIを受け取るためのコードをSchemaに入力する

{
  "openapi": "3.1.0",
  "info": {
    "title": "Get name data",
    "description": "Get lastname and firstname by id",
    "version": "v1.0.0"
  },
  "servers": [
    {
      "url": "https://script.google.com"
    }
  ],
  "paths": {
    "/macros/s/AKfycby_GCnFVdiumK2WixXExruPSu4sUFptgZy7clJgXODx1Z1psAfng7w0jmaEcTLIGGPt/exec": {
      "get": {
        "description": "Get lastname and firstname by id",
        "operationId": "GetNameByid",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "ID No.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "deprecated": false
      }
    }
  },
  "components": {
    "schemas": {
      "NameResponse": {
        "type": "object",
        "properties": {
          "lastname": {
            "type": "string"
          },
          "firstname": {
            "type": "string"
          }
        }
      }
    }
  }
}

8.スプシを用意して以下の内容を入力する
スクリーンショット 2023-12-24 16.37.48.png

9.App scriptをクリックして以下の内容を入力
17行目を書き換える
スクリーンショット 2023-12-24 16.38.03.png

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('xxxxxx-xxxxxxxxxxxxxxxxxxxx').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("last: " + data[i][1]);
      console.log("first: " + data[i][2]);
      // 見つかった場合、JSONとして返す
      return ContentService.createTextOutput(
        JSON.stringify({ "lastname": data[i][1], "firstname": data[i][2] })
      ).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);
}

10.以下のopenById以降のx部分を書き換える
11.スプシのURLのd/以降の部分をコピペして入力

  // スプレッドシートの準備
  var sheet = SpreadsheetApp.openById('xxxxxx-xxxxxxxxxxxxxxxxxxxx').getSheetByName('シート1');
  var data = sheet.getDataRange().getValues();

12.ここまでできたら新しいデプロイをクリック
スクリーンショット 2023-12-24 16.48.33.png

13.歯車ボタンを押して以下のように設定してデプロイをクリック。認証画面が出てきたら認証を進める

スクリーンショット 2023-12-24 16.52.07.png

14.警告文が出たら、以下のリンクをクリックして進める
スクリーンショット 2023-12-24 16.58.27.png

15.Allowをクリック
スクリーンショット 2023-12-24 17.00.26.png

16.ウェブアプリのURLをコピーする
スクリーンショット 2023-12-24 17.02.41.png

17.GPTsに戻りschema内のpathsを探して以下のようにURLをペーストする。

スクリーンショット 2023-12-24 17.05.04.png

18./macrosより前の部分を削除。これでshemaの設定完了
スクリーンショット 2023-12-24 17.07.31.png

19.Description、Instructionsなどそれぞれ以下のように入力。InstructionsにはアップスクリプトのURLを入力
スクリーンショット 2023-12-24 17.39.23.png

スクリーンショット 2023-12-24 17.13.06.png

20.余計なものが動かないようにDALLEのみにして他のチェックを外す。ここはスプシの内容によって変更するスクリーンショット 2023-12-24 17.16.38.png

21.MyGPTで2001番を実行してと入力
スクリーンショット 2023-12-24 17.20.32.png

22.スプシ内容が実行された
スクリーンショット 2023-12-24 17.22.20.png

23.「新時代のライフスタイル:未来志向のアプローチ」というテーマの記事に対してこんなアイキャッチを作ってくれました

スクリーンショット 2023-12-24 17.27.29.png

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?