{"id":111,"date":"2025-05-22T15:53:45","date_gmt":"2025-05-22T06:53:45","guid":{"rendered":"https:\/\/cg-method.com\/google\/?p=111"},"modified":"2026-10-28T20:37:47","modified_gmt":"2026-10-28T11:37:47","slug":"gas-chatgpt","status":"publish","type":"post","link":"https:\/\/cg-method.com\/google\/gas-chatgpt\/","title":{"rendered":"GAS\u2502Google Apps Script\u3067\u4f5c\u308b\uff01ChatGPT\u98a8\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u306e\u4f5c\u308a\u65b9\u5165\u9580"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">GAS\uff08Google Apps Script\uff09\u3068OpenAI API\u3092\u4f7f\u3044\u3001\u8cea\u554f\u3068\u56de\u7b54\u3092\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u4fdd\u5b58\u3059\u308b\u500b\u4eba\u7528\u306e\u30c1\u30e3\u30c3\u30c8\u753b\u9762\u3092\u4f5c\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT\u306eWeb\u7248\u305d\u306e\u3082\u306e\u3092\u7d44\u307f\u8fbc\u3080\u4ed5\u7d44\u307f\u3067\u306f\u306a\u304f\u3001OpenAI API\u306e\u30c6\u30ad\u30b9\u30c8\u5fdc\u7b54\u3092GAS\u306eWeb\u30a2\u30d7\u30ea\u306b\u8868\u793a\u3059\u308b\u4ed5\u7d44\u307f\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u306b\u3088\u308a\u3001\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u7c21\u6613\u7684\u306aChatGPT\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"328\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-1024x328.png\" alt=\"\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u306e\u5b8c\u6210\u30a4\u30e1\u30fc\u30b8\u3002\" class=\"wp-image-124\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-1024x328.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-300x96.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-768x246.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-1536x492.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34.png 1657w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u8a18\u4e8b\u306e\u30b3\u30fc\u30c9\u306f\u81ea\u5206\u3060\u3051\u304c\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u8a2d\u5b9a\u3067\u8a66\u3057\u307e\u3059\u3002\u5229\u7528\u8005\u5225\u306e\u8a8d\u8a3c\u30fb\u5c65\u6b74\u5206\u96e2\u30fb\u5229\u7528\u91cf\u5236\u9650\u306f\u5099\u3048\u3066\u3044\u307e\u305b\u3093\u3002\u4ed6\u306e\u4eba\u306b\u516c\u958b\u3059\u308b\u5834\u5408\u306f\u3001\u305d\u308c\u3089\u3092\u8ffd\u52a0\u3057\u3066\u304b\u3089\u516c\u958b\u7bc4\u56f2\u3092\u5e83\u3052\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"is-style-icon_pen wp-block-paragraph\">\u8cea\u554f\u3068\u56de\u7b54\u306fGoogle\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002\u305f\u3060\u3057\u3001API\u306b\u9001\u308b\u306e\u306f\u6bce\u56de\u306e\u8cea\u554f\u3060\u3051\u3067\u3059\u3002\u5c65\u6b74\u306e\u518d\u8868\u793a\u306f\u3067\u304d\u307e\u3059\u304c\u3001\u904e\u53bb\u306e\u6587\u8108\u3092\u5f15\u304d\u7d99\u3050\u5bfe\u8a71\u306b\u306f\u306a\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"is-style-icon_info wp-block-paragraph\">OpenAI API\u306e\u6599\u91d1\u306fChatGPT\u306e\u5951\u7d04\u3068\u306f\u5225\u3067\u3059\u3002\u5165\u529b\u306fOpenAI\u3078\u9001\u4fe1\u3055\u308c\u3001\u30ed\u30b0\u306f\u6307\u5b9a\u306e\u30b7\u30fc\u30c8\u306b\u6b8b\u308a\u307e\u3059\u3002\u500b\u4eba\u60c5\u5831\u3084\u6a5f\u5bc6\u60c5\u5831\u3092\u5165\u308c\u305a\u3001API\u306e\u5229\u7528\u984d\u3068GAS\u306e\u5272\u308a\u5f53\u3066\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089\u8a66\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GAS\u3067\u52d5\u304fChatGPT\u306e\u4f5c\u308a\u65b9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">UI\u3068\u51e6\u7406\u30ed\u30b8\u30c3\u30af\u306fGAS\u3067\u69cb\u7bc9\u3057\u3001\u30ed\u30b0\u4fdd\u5b58\u306b\u306fGoogle\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305f\u3001ChatGPT\u3092\u5229\u7528\u3059\u308b\u305f\u3081\u306bOpenAI\u306eAPI\u30ad\u30fc\u3092\u767a\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u9023\u643a\u306b\u3088\u308a\u3001\u7c21\u6613\u7684\u306a\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u74b0\u5883\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ChatGPT\u306eAPI\u30ad\u30fc\u306e\u767a\u884c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u306fOpenAI\u306e\u7ba1\u7406\u753b\u9762\u304b\u3089ChatGPT\u306eAPI\u30ad\u30fc\u3092\u767a\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"swell-block-postLink\">\t\t\t<a href=\"https:\/\/platform.openai.com\/settings\/organization\/api-keys\" class=\"c-blogLink -external\" data-style=\"text\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t<!-- <i class=\"c-blogLink__icon icon-link\" role=\"presentation\"><\/i> -->\n\t\t\t\t<span class=\"c-blogLink__icon\">\n\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"swl-svg-externalLink __svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 48 48\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M44 2H30c-1.1 0-2 .9-2 2s.9 2 2 2h9.2L24 21.2c-.8.8-.8 2 0 2.8s2 .8 2.8 0L42 8.8V18c0 1.1.9 2 2 2s2-.9 2-2V4c0-1.1-.9-2-2-2z\" \/><path d=\"M41 27c-1.1 0-2 .9-2 2v10c0 1.1-.9 2-2 2H9c-1.1 0-2-.9-2-2V11c0-1.1.9-2 2-2h10c1.1 0 2-.9 2-2s-.9-2-2-2H9c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V29c0-1.1-.9-2-2-2z\" \/><\/svg>\t\t\t\t<\/span>\n\t\t\t\t<span class=\"c-blogLink__text\">API keys &#8211; OpenAI API<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"236\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h48_42-1024x236.png\" alt=\"\u7ba1\u7406\u753b\u9762\u3067\u767a\u884c\u3055\u308c\u305fAPI\u30ad\u30fc\u306e\u78ba\u8a8d\u753b\u9762\u3002\" class=\"wp-image-126\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h48_42-1024x236.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h48_42-300x69.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h48_42-768x177.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h48_42-1536x354.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h48_42.png 1904w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u767a\u884c\u3055\u308c\u305f\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc\u306f\u518d\u8868\u793a\u3067\u304d\u306a\u3044\u5834\u5408\u304c\u3042\u308b\u305f\u3081\u3001\u5fc5\u305a\u63a7\u3048\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b9\u30af\u30ea\u30d7\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u767b\u9332<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u63a7\u3048\u305fAPI\u306e\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc\u3092\u3001GAS\u306e\u300c\u30b9\u30af\u30ea\u30d7\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\u300d\u306b\u767b\u9332\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"is-style-icon_pen wp-block-paragraph\">API\u30ad\u30fc\u306f\u30b5\u30fc\u30d0\u30fc\u5074\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u4fdd\u5b58\u3057\u3001HTML\u3084\u30d6\u30e9\u30a6\u30b6\u306b\u8fd4\u3057\u307e\u305b\u3093\u3002\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u7de8\u96c6\u8005\u306f\u30b3\u30fc\u30c9\u7d4c\u7531\u3067\u53c2\u7167\u3067\u304d\u308b\u305f\u3081\u3001GAS\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u7de8\u96c6\u6a29\u9650\u3082\u9650\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n<div class=\"swell-block-postLink\">\t\t\t<a href=\"https:\/\/script.google.com\/home\" class=\"c-blogLink -external\" data-style=\"text\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t<!-- <i class=\"c-blogLink__icon icon-link\" role=\"presentation\"><\/i> -->\n\t\t\t\t<span class=\"c-blogLink__icon\">\n\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"swl-svg-externalLink __svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 48 48\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M44 2H30c-1.1 0-2 .9-2 2s.9 2 2 2h9.2L24 21.2c-.8.8-.8 2 0 2.8s2 .8 2.8 0L42 8.8V18c0 1.1.9 2 2 2s2-.9 2-2V4c0-1.1-.9-2-2-2z\" \/><path d=\"M41 27c-1.1 0-2 .9-2 2v10c0 1.1-.9 2-2 2H9c-1.1 0-2-.9-2-2V11c0-1.1.9-2 2-2h10c1.1 0 2-.9 2-2s-.9-2-2-2H9c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V29c0-1.1-.9-2-2-2z\" \/><\/svg>\t\t\t\t<\/span>\n\t\t\t\t<span class=\"c-blogLink__text\">Apps Script \u00a0|\u00a0 Google for Developers<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\n\n<figure class=\"wp-block-image size-large is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"511\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h12_57-1024x511.png\" alt=\"\u30b9\u30af\u30ea\u30d7\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u7de8\u96c6\u753b\u9762\u3092\u958b\u3044\u305f\u69d8\u5b50\u3002\" class=\"wp-image-128\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h12_57-1024x511.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h12_57-300x150.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h12_57-768x384.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h12_57-1536x767.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h12_57.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4eca\u56de\u306f\u30d7\u30ed\u30d1\u30c6\u30a3\u540d\u3092\u300cACCESS_TOKEN\u300d\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u300c\u5024\u300d\u306e\u5165\u529b\u6b04\u306b\u5148\u307b\u3069\u306e\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc\u3092\u8a2d\u5b9a\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"808\" height=\"308\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h31_48.png\" alt=\"\u30b9\u30af\u30ea\u30d7\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u30d7\u30ed\u30d1\u30c6\u30a3\u540d\u3068\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc\u306e\u5024\u3092\u8a2d\u5b9a\u3057\u3066\u4fdd\u5b58\u3059\u308b\u753b\u9762\u3002\" class=\"wp-image-130\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h31_48.png 808w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h31_48-300x114.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h31_48-768x293.png 768w\" sizes=\"auto, (max-width: 808px) 100vw, 808px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ed\u30b0\u7528\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u4f5c\u6210<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ed\u30b0\u5c02\u7528\u306eGoogle\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u65b0\u898f\u4f5c\u6210\u3057\u30011\u884c\u76ee\u306eA\u301cD\u5217\u306b\u300c\u65e5\u6642\u300d\u300c\u4f1a\u8a71ID\u300d\u300c\u8cea\u554f\u300d\u300c\u56de\u7b54\u300d\u306e\u898b\u51fa\u3057\u3092\u5165\u529b\u3057\u307e\u3059\u3002\u30b3\u30fc\u30c9\u306f2\u884c\u76ee\u4ee5\u964d\u3092\u5c65\u6b74\u3068\u3057\u3066\u8aad\u307f\u307e\u3059\u3002\u30b7\u30fc\u30c8\u306e\u95b2\u89a7\u30fb\u7de8\u96c6\u6a29\u9650\u306f\u81ea\u5206\u3060\u3051\u306b\u9650\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f5c\u6210\u5f8c\u3001\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306eID\uff08URL\u5185\u306e\u8a72\u5f53\u90e8\u5206\uff09\u3068\u30b7\u30fc\u30c8\u540d\u3092\u63a7\u3048\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u203b\u63a7\u3048\u305fID\u3068\u30b7\u30fc\u30c8\u540d\u306f\u3001\u5f8c\u8ff0\u3059\u308bmain.gs\u5185\u306e\u8a2d\u5b9a\u7b87\u6240\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"410\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h38_34-1024x410.png\" alt=\"\u5bfe\u8a71\u5c65\u6b74\u3092\u8a18\u9332\u3059\u308b\u305f\u3081\u306b\u65b0\u898f\u4f5c\u6210\u3057\u305f\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u753b\u9762\u3002\" class=\"wp-image-131\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h38_34-1024x410.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h38_34-300x120.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h38_34-768x307.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h38_34.png 1175w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Web\u30a2\u30d7\u30ea\u306e\u4f5c\u6210<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GAS\u30a8\u30c7\u30a3\u30bf\u4e0a\u306b\u5fc5\u8981\u306a\u5404\u30d5\u30a1\u30a4\u30eb\u3092\u69cb\u6210\u3057\u3001\u30b3\u30fc\u30c9\u3092\u8a18\u8ff0\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"213\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-1024x213.png\" alt=\"\u30a8\u30c7\u30a3\u30bf\u4e0a\u306b\u69cb\u6210\u3057\u305fWeb\u30a2\u30d7\u30ea\u7528\u30d5\u30a1\u30a4\u30eb\u306e\u4e00\u89a7\u3002\" class=\"wp-image-129\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-1024x213.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-300x62.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-768x159.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-1536x319.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23.png 1922w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u30d5\u30a1\u30a4\u30eb<\/th><th>\u5099\u8003<\/th><\/tr><\/thead><tbody><tr><th>app.gs<\/th><td>HTML\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u3001Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u3057\u3066\u8868\u793a\u53ef\u80fd\u306a\u5f62\u5f0f\u306b\u5909\u63db\u3057\u307e\u3059\u3002<\/td><\/tr><tr><th>index.html<\/th><td>\u753b\u9762\u306eUI\uff08HTML\u69cb\u9020\uff09\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/td><\/tr><tr><th>style.html<\/th><td>\u753b\u9762\u30c7\u30b6\u30a4\u30f3\u3092\u5b9a\u7fa9\u3059\u308bCSS\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/td><\/tr><tr><th>script.html<\/th><td>\u753b\u9762\u306e\u6319\u52d5\u3084\u975e\u540c\u671f\u901a\u4fe1\u3092\u5236\u5fa1\u3059\u308b\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9JavaScript\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/td><\/tr><tr><th>main.gs<\/th><td>ChatGPT API\u306e\u547c\u3073\u51fa\u3057\u3084\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u9023\u643a\u3092\u884c\u3046\u30b5\u30fc\u30d0\u30fc\u5074\u51e6\u7406\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">app.gs<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Web\u30a2\u30d7\u30ea\u3068\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u969b\u306b\u3001HTML\u3092\u51fa\u529b\u3059\u308b\u305f\u3081\u306e\u521d\u671f\u5316\u51e6\u7406\u3092\u8a18\u8ff0\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>function doGet() {\n  return HtmlService.createTemplateFromFile(&quot;index&quot;).evaluate();\n}<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">index.html<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c1\u30e3\u30c3\u30c8\u753b\u9762\u306e\u57fa\u672c\u69cb\u9020\u3092\u5b9a\u7fa9\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u753b\u9762\u5de6\u5074\u306b\u5c65\u6b74\u306a\u3069\u3092\u8868\u793a\u3059\u308b\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u914d\u7f6e\u3057\u3001\u4e2d\u592e\u306b\u5bfe\u8a71\u30e1\u30c3\u30bb\u30fc\u30b8\u9818\u57df\u3092\u8a2d\u3051\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305f\u3001\u5916\u90e8\u30d5\u30a1\u30a4\u30eb\u5316\u3057\u305fCSS\u3068JavaScript\u3092\u8aad\u307f\u8fbc\u3080\u8a18\u8ff0\u3092\u542b\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n  &lt;head&gt;\n    &lt;base target=&quot;_top&quot;&gt;\n    &lt;?!= HtmlService.createHtmlOutputFromFile(&quot;style&quot;).getContent(); ?&gt;\n  &lt;\/head&gt;\n  &lt;body&gt;\n    &lt;div class=&quot;sidebar&quot;&gt;\n      &lt;h2 onclick=&quot;startNewConversation()&quot;&gt;\u65b0\u898f\u4f1a\u8a71&lt;\/h2&gt;\n      &lt;div id=&quot;historyList&quot;&gt;&lt;\/div&gt;\n    &lt;\/div&gt;\n\n    &lt;div class=&quot;main&quot;&gt;\n      &lt;div class=&quot;header&quot;&gt;\n        &lt;label for=&quot;modelSelect&quot;&gt;\u30e2\u30c7\u30eb\u9078\u629e\uff1a&lt;\/label&gt;\n        &lt;select id=&quot;modelSelect&quot;&gt;\n          &lt;option value=&quot;gpt-4.1-mini&quot; selected&gt;gpt-4.1-mini&lt;\/option&gt;\n          &lt;\/select&gt;\n      &lt;\/div&gt;\n      &lt;div class=&quot;chat-box&quot; id=&quot;chatLog&quot;&gt;&lt;\/div&gt;\n      &lt;div class=&quot;input-area&quot;&gt;\n        &lt;textarea id=&quot;inputText&quot; rows=&quot;5&quot; placeholder=&quot;\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5165\u529b...&quot;&gt;&lt;\/textarea&gt;\n        &lt;button onclick=&quot;sendMessage()&quot;&gt;\u9001\u4fe1&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;?!= HtmlService.createHtmlOutputFromFile(&quot;script&quot;).getContent(); ?&gt;\n  &lt;\/body&gt;\n&lt;\/html&gt;\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u63b2\u8f09\u30b3\u30fc\u30c9\u306f\u3001\u30c6\u30ad\u30b9\u30c8\u5fdc\u7b54\u7528\u306e<code>gpt-4.1-mini<\/code>\u306b\u9650\u5b9a\u3057\u305f\u4f8b\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2026\u5e7410\u670828\u65e5\u6642\u70b9\u3067\u3001OpenAI\u306f\u3053\u306e\u30e2\u30c7\u30eb\u306eAPI\u63d0\u4f9b\u30922027\u5e741\u670814\u65e5\u306b\u7d42\u4e86\u3059\u308b\u3068\u544a\u77e5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u958b\u59cb\u524d\u306b<a href=\"https:\/\/developers.openai.com\/api\/docs\/deprecations\">\u516c\u5f0f\u306e\u63d0\u4f9b\u7d42\u4e86\u4e88\u5b9a<\/a>\u3068\u3001\u81ea\u5206\u306eAPI\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e\u5229\u7528\u53ef\u5426\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e2\u30c7\u30eb\u3092\u5909\u66f4\u3059\u308b\u5834\u5408\u306f\u3001<code>index.html<\/code>\u306e\u9078\u629e\u80a2\u3068<code>main.gs<\/code>\u306e\u8a31\u53ef\u30e2\u30c7\u30eb\u540d\u3092\u4e21\u65b9\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5909\u66f4\u5148\u304cChat Completions\u3068\u63b2\u8f09\u30b3\u30fc\u30c9\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306b\u5bfe\u5fdc\u3059\u308b\u304b\u78ba\u8a8d\u3057\u3001\u77ed\u3044\u8cea\u554f\u3067\u5fdc\u7b54\u3068\u30ed\u30b0\u4fdd\u5b58\u3092\u8a66\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f8c\u7d99\u30e2\u30c7\u30eb\u3067\u306e\u5b9fAPI\u901a\u4fe1\u306f\u672a\u78ba\u8a8d\u3067\u3001\u30e2\u30c7\u30eb\u540d\u3060\u3051\u306e\u7f6e\u63db\u306b\u3088\u308b\u52d5\u4f5c\u306f\u4fdd\u8a3c\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u97f3\u58f0\u5408\u6210\u30fbRealtime\u7528\u30e2\u30c7\u30eb\u306f\u3001\u3053\u306e\u30c6\u30ad\u30b9\u30c8\u51e6\u7406\u306b\u306f\u8ffd\u52a0\u3057\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bfe\u5fdc\u3059\u308b\u51e6\u7406\u3068\u30e2\u30c7\u30eb\u540d\u306f<a href=\"https:\/\/developers.openai.com\/api\/docs\/models\/gpt-4.1-mini\">OpenAI\u306e\u30e2\u30c7\u30eb\u8cc7\u6599<\/a>\u3001Web\u30a2\u30d7\u30ea\u306e\u5b9f\u884c\u8005\u30fb\u516c\u958b\u7bc4\u56f2\u306f<a href=\"https:\/\/developers.google.com\/apps-script\/guides\/web\">GAS\u306eWeb\u30a2\u30d7\u30ea\u8cc7\u6599<\/a>\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n<div class=\"swell-block-postLink\">\t\t\t<a href=\"https:\/\/platform.openai.com\/settings\/organization\/limits\" class=\"c-blogLink -external\" data-style=\"text\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t<!-- <i class=\"c-blogLink__icon icon-link\" role=\"presentation\"><\/i> -->\n\t\t\t\t<span class=\"c-blogLink__icon\">\n\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"swl-svg-externalLink __svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 48 48\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M44 2H30c-1.1 0-2 .9-2 2s.9 2 2 2h9.2L24 21.2c-.8.8-.8 2 0 2.8s2 .8 2.8 0L42 8.8V18c0 1.1.9 2 2 2s2-.9 2-2V4c0-1.1-.9-2-2-2z\" \/><path d=\"M41 27c-1.1 0-2 .9-2 2v10c0 1.1-.9 2-2 2H9c-1.1 0-2-.9-2-2V11c0-1.1.9-2 2-2h10c1.1 0 2-.9 2-2s-.9-2-2-2H9c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V29c0-1.1-.9-2-2-2z\" \/><\/svg>\t\t\t\t<\/span>\n\t\t\t\t<span class=\"c-blogLink__text\">API keys &#8211; OpenAI API<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\n\n<h3 class=\"wp-block-heading\">style.html<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c1\u30e3\u30c3\u30c8UI\u5168\u4f53\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u3084\u914d\u8272\u3092\u8abf\u6574\u3059\u308bCSS\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>&lt;style&gt;\n  body {\n    font-family: sans-serif;\n    background-color: #f5f5f5;\n    margin: 0;\n    padding: 0;\n    display: flex;\n  }\n  .sidebar {\n    width: 250px;\n    background-color: #e6f0fa;\n    border-right: 1px solid #ccc;\n    padding: 1em;\n    height: 100vh;\n    overflow-y: auto;\n  }\n  .sidebar h2 {\n    font-size: 1em;\n    margin-top: 0;\n    cursor: pointer;\n    color: #1a73e8;\n  }\n  .sidebar .history-item {\n    margin: 0.5em 0;\n    color: #1a73e8;\n    cursor: pointer;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;    \n  }\n  .main {\n    flex-grow: 1;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    padding: 1em;\n  }\n  .header {\n    font-size: 1.2em;\n    font-weight: bold;\n    margin-bottom: 1em;\n  }\n  .chat-box {\n    width: 100%;\n    max-width: 800px;\n    background-color: #fff;\n    padding: 1em;\n    box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n    min-height: 300px;\n    margin-bottom: 1em;\n    overflow-y: auto;\n  }\n  .input-area {\n    display: flex;\n    width: 100%;\n    max-width: 800px;\n  }\n  textarea#inputText {\n    flex: 1;\n    padding: 0.5em;\n    font-size: 1em;\n    resize: vertical;\n  }\n  button {\n    padding: 0.5em 1em;\n    margin-left: 0.5em;\n    font-size: 1em;\n  }\n  .message {\n    margin: 0.5em 0;\n    padding: 0.5em;\n  }\n  .user {\n    color: #1a73e8;\n  }\n  .bot {\n    color: #0b8043;\n    white-space: pre-wrap;\n  }\n&lt;\/style&gt;\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u7d9a\u3044\u3066\u3001\u901a\u4fe1\u51e6\u7406\u3092\u62c5\u3046main.gs\u3068\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u51e6\u7406\u306escript.html\u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3059\u3079\u3066\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u88c5\u3057\u305f\u3042\u3068\u3001Web\u30a2\u30d7\u30ea\u3068\u3057\u3066\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u3053\u3068\u3067\u30d6\u30e9\u30a6\u30b6\u304b\u3089\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"328\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h36_29-1024x328.png\" alt=\"\u901a\u4fe1\u51e6\u7406\u3084\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u51e6\u7406\u306e\u5b9f\u88c5\u30b3\u30fc\u30c9\u3068\u30c7\u30d7\u30ed\u30a4\u524d\u306e\u72b6\u614b\u3002\" class=\"wp-image-122\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h36_29-1024x328.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h36_29-300x96.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h36_29-768x246.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h36_29-1536x492.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h36_29.png 1657w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u3053\u304b\u3089\u5148\u306e\u8a73\u7d30\u306a\u5b9f\u88c5\u30b3\u30fc\u30c9\u306f\u6709\u6599\u30b3\u30f3\u30c6\u30f3\u30c4\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u4ed6\u306e\u81ea\u52d5\u5316\u64cd\u4f5c\u306b\u3064\u3044\u3066\u306f\u3001\u307e\u3068\u3081\u8a18\u4e8b\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2026\/09\/google-apps-matome-3-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/google-apps-matome\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u30fb\u30c9\u30e9\u30a4\u30d6\u306e\u4f7f\u3044\u65b9\u307e\u3068\u3081\uff5c\u95a2\u6570\u3068GAS<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">Google\u306e\u64cd\u4f5c\u3092\u300c\u4f55\u3092\u3057\u305f\u3044\u304b\u300d\u304b\u3089\u63a2\u305b\u308b\u30ac\u30a4\u30c9\u3067\u3059\u3002 \u307e\u305a\u6a19\u6e96\u306e\u753b\u9762\u64cd\u4f5c\u3084\u95a2\u6570\u3067\u89e3\u6c7a\u3067\u304d\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3001\u7e70\u308a\u8fd4\u3059\u51e6\u7406\u306bGAS\u3092\u4f7f\u3044\u307e\u3059\u3002 \u76ee\u7684\u304b\u3089\u624b\u9806\u3092\u9078\u3076 \u3084\u308a\u305f&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\n<h3 class=\"wp-block-heading\">script.html<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u5074\u306eJavaScript\u3092\u8a18\u8ff0\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9001\u4fe1\u30dc\u30bf\u30f3\u306e\u62bc\u4e0b\u6642\u306bGAS\u5074\u3092\u547c\u3073\u51fa\u3059\u51e6\u7406\u3084\u3001\u30b5\u30a4\u30c9\u30d0\u30fc\u3078\u306e\u5bfe\u8a71\u5c65\u6b74\u306e\u63cf\u753b\u3092\u62c5\u5f53\u3057\u307e\u3059\u3002\u8868\u793a\u3059\u308b\u5c65\u6b74\u306f\u6700\u65b0200\u884c\u3067\u3059\u3002\u5165\u529b\u3068\u5fdc\u7b54\u306fHTML\u3068\u3057\u3066\u5b9f\u884c\u305b\u305a\u6587\u5b57\u5217\u3068\u3057\u3066\u8868\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>&lt;script&gt;\n  let sending = false;\n  let conversationId = Date.now().toString();\n\n  const chatLog = document.getElementById(&quot;chatLog&quot;);\n  const input = document.getElementById(&quot;inputText&quot;);\n  const historyList = document.getElementById(&quot;historyList&quot;);\n\n  function startNewConversation() {\n    if (sending) return;\n    conversationId = Date.now().toString();\n    chatLog.innerHTML = &quot;&quot;;\n    input.value = &quot;&quot;;\n    loadSidebar();\n  }\n\n  function appendMessage(role, content) {\n    const div = document.createElement(&quot;div&quot;);\n    div.className = `message ${role}`;\n    div.textContent = `${role === &#x27;user&#x27; ? &#x27;\u3042\u306a\u305f&#x27; : &#x27;AI&#x27;}: ${content}`;\n    chatLog.appendChild(div);\n  }\n\n  function groupByThread(data) {\n    const grouped = {};\n    data.forEach(item =&gt; {\n      if (!grouped[item.thread]) grouped[item.thread] = [];\n      grouped[item.thread].push(item);\n    });\n    return grouped;\n  }\n\n  function loadSidebar() {\n    google.script.run\n      .withSuccessHandler(function(data) {\n        historyList.innerHTML = &quot;&quot;;\n        if (!Array.isArray(data) || data.length === 0) {\n          historyList.textContent = &quot;\u5c65\u6b74\u304c\u3042\u308a\u307e\u305b\u3093&quot;;\n          return;\n        }\n\n        const grouped = groupByThread(data);\n        Object.entries(grouped).reverse().forEach(([threadId, messages]) =&gt; {\n          const div = document.createElement(&quot;div&quot;);\n          div.className = &quot;history-item&quot;;\n          div.textContent = messages[0].user;\n          div.onclick = () =&gt; loadHistoryFromThread(messages);\n          historyList.appendChild(div);\n        });\n      })\n      .withFailureHandler(err =&gt; {\n        console.error(&quot;\u5c65\u6b74\u53d6\u5f97\u306b\u5931\u6557:&quot;, err);\n        alert(&quot;\u5c65\u6b74\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002&quot;);\n      })\n      .getHistoryFromSheetWithThreads();\n  }\n\n  function loadHistoryFromThread(messages) {\n    if (sending) return;\n    conversationId = messages[0].thread;\n    chatLog.innerHTML = &quot;&quot;;\n\n    messages.forEach(msg =&gt; {\n\n      appendMessage(&#x27;user&#x27;, msg.user);\n\n      appendMessage(&#x27;bot&#x27;, msg.bot);\n    });\n  }\n\n  function sendMessage() {\n    const userMsg = input.value.trim();\n    if (!userMsg || sending) return;\n    if (userMsg.length &gt; 4000) { alert(&quot;\u8cea\u554f\u306f4000\u6587\u5b57\u4ee5\u5185\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002&quot;); return; }\n    sending = true;\n\n    appendMessage(&#x27;user&#x27;, userMsg);\n    input.value = &quot;&quot;;\n\n\n    const modelSelect = document.getElementById(&quot;modelSelect&quot;);\n    const selectedModel = modelSelect.value;\n\n    google.script.run\n      .withSuccessHandler(function(response) {\n        sending = false;\n        appendMessage(&#x27;bot&#x27;, response);\n\n        loadSidebar();\n      })\n      .withFailureHandler(() =&gt; {\n        sending = false;\n        appendMessage(&#x27;bot&#x27;, &#x27;\u9001\u4fe1\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002GAS\u306e\u8a2d\u5b9a\u30fbAPI\u5229\u7528\u72b6\u6cc1\u30fb\u30b7\u30fc\u30c8\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002&#x27;);\n      })\n      .askChatGPTWithModel(userMsg, conversationId, selectedModel);\n  }\n\n  window.onload = loadSidebar;\n&lt;\/script&gt;\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">main.gs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT\u306eAPI\u3078\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u9001\u4fe1\u3084\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3078\u306e\u8a18\u9332\u51e6\u7406\u3092\u8a18\u8ff0\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5192\u982d\u306e\u8a2d\u5b9a\u5909\u6570\u306b\u3001\u4e8b\u524d\u6e96\u5099\u3067\u63a7\u3048\u305f\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306eID\u3068\u30b7\u30fc\u30c8\u540d\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT\u306eAPI\u3092\u547c\u3073\u51fa\u3059\u305f\u3081\u306e\u51e6\u7406\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>const SHEET_ID = &quot;xxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;;\nconst SHEET_NAME = &quot;\u30b7\u30fc\u30c81&quot;;\n\n\/\/ \u30c7\u30d7\u30ed\u30a4\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u306f\u672c\u4eba\u306e\u307f\u306b\u9650\u5b9a\u3059\u308b\u3002\nfunction askChatGPTWithModel(userInput, threadId, modelName) {\n  if (typeof userInput !== &#x27;string&#x27; || !userInput.trim() || userInput.length &gt; 4000) {\n    throw new Error(&#x27;\u8cea\u554f\u306f1\u301c4000\u6587\u5b57\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002&#x27;);\n  }\n  if (typeof threadId !== &#x27;string&#x27; || !\/^\\d{10,20}$\/.test(threadId)) {\n    throw new Error(&#x27;\u4f1a\u8a71ID\u304c\u4e0d\u6b63\u3067\u3059\u3002&#x27;);\n  }\n  if (modelName !== &#x27;gpt-4.1-mini&#x27;) throw new Error(&#x27;\u8a31\u53ef\u3055\u308c\u3066\u3044\u306a\u3044\u30e2\u30c7\u30eb\u3067\u3059\u3002&#x27;);\n  const apiKey = PropertiesService.getScriptProperties().getProperty(&#x27;ACCESS_TOKEN&#x27;);\n  if (!apiKey) throw new Error(&#x27;API\u30ad\u30fc\u304c\u672a\u8a2d\u5b9a\u3067\u3059\u3002&#x27;);\n  const sheet = getLogSheet_();\n  const payload = {\n    model: modelName,\n    messages: [\n      {role: &#x27;system&#x27;, content: &#x27;\u8cea\u554f\u306b\u65e5\u672c\u8a9e\u3067\u7c21\u6f54\u306b\u56de\u7b54\u3057\u3066\u304f\u3060\u3055\u3044\u3002&#x27;},\n      {role: &#x27;user&#x27;, content: userInput}\n    ],\n    max_completion_tokens: 1024\n  };\n  const response = UrlFetchApp.fetch(&#x27;https:\/\/api.openai.com\/v1\/chat\/completions&#x27;, {\n    method: &#x27;post&#x27;, contentType: &#x27;application\/json&#x27;,\n    headers: {Authorization: &#x27;Bearer &#x27; + apiKey},\n    payload: JSON.stringify(payload), muteHttpExceptions: true\n  });\n  const status = response.getResponseCode();\n  if (status &lt; 200 || status &gt;= 300) throw new Error(&#x27;API\u901a\u4fe1\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff08HTTP &#x27; + status + &#x27;\uff09\u3002&#x27;);\n  const result = JSON.parse(response.getContentText());\n  const message = result.choices &amp;&amp; result.choices[0] &amp;&amp; result.choices[0].message;\n  if (!message || typeof message.content !== &#x27;string&#x27; || !message.content.trim()) {\n    throw new Error(&#x27;\u30c6\u30ad\u30b9\u30c8\u5fdc\u7b54\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002&#x27;);\n  }\n  const reply = message.content.trim();\n  \/\/ =\u3067\u59cb\u307e\u308b\u5165\u529b\u3092\u30b7\u30fc\u30c8\u306e\u6570\u5f0f\u3068\u3057\u3066\u8a55\u4fa1\u3055\u305b\u306a\u3044\u3002\n  const asText = value =&gt; \/^[=+@-]\/.test(value) ? &quot;&#x27;&quot; + value : value;\n  sheet.appendRow([new Date(), threadId, asText(userInput), asText(reply)]);\n  return reply;\n}\n\n\/\/ \u672b\u5c3e_\u306e\u95a2\u6570\u306fgoogle.script.run\u304b\u3089\u76f4\u63a5\u547c\u3073\u51fa\u305b\u306a\u3044\u3002\nfunction getLogSheet_() {\n  const sheet = SpreadsheetApp.openById(SHEET_ID).getSheetByName(SHEET_NAME);\n  if (!sheet) throw new Error(&#x27;\u30ed\u30b0\u7528\u30b7\u30fc\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002&#x27;);\n  const headers = sheet.getRange(1, 1, 1, 4).getDisplayValues()[0];\n  if (headers.join(&#x27;|&#x27;) !== &#x27;\u65e5\u6642|\u4f1a\u8a71ID|\u8cea\u554f|\u56de\u7b54&#x27;) {\n    throw new Error(&#x27;A1:D1\u306e\u898b\u51fa\u3057\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002&#x27;);\n  }\n  return sheet;\n}\n\nfunction getHistoryFromSheetWithThreads() {\n  const sheet = getLogSheet_();\n  const lastRow = sheet.getLastRow();\n  if (lastRow &lt; 2) return [];\n  \/\/ \u8868\u793a\u7528\u6587\u5b57\u5217\u3068\u3057\u3066\u8fd4\u3057\u3001Date\u3092\u30d6\u30e9\u30a6\u30b6\u306b\u76f4\u63a5\u6e21\u3055\u306a\u3044\u3002\n  const firstRow = Math.max(2, lastRow - 199);\n  return sheet.getRange(firstRow, 1, lastRow - firstRow + 1, 4)\n    .getDisplayValues().map(r =&gt; ({\n      timestamp: r[0], thread: r[1], user: r[2], bot: r[3]\n    }));\n}<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u30c7\u30d7\u30ed\u30a4\u3057\u3066\u8868\u793a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GAS\u30a8\u30c7\u30a3\u30bf\u306e\u300c\u30c7\u30d7\u30ed\u30a4\u300d\u2192\u300c\u65b0\u3057\u3044\u30c7\u30d7\u30ed\u30a4\u300d\u3067\u7a2e\u985e\u3092Web\u30a2\u30d7\u30ea\u306b\u3057\u3001\u5b9f\u884c\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u81ea\u5206\u3001\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u81ea\u5206\u306e\u307f\u3068\u3059\u308b\u8a2d\u5b9a\u3067\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u3002\u672c\u4eba\u9650\u5b9a\u306b\u3067\u304d\u306a\u3044\u74b0\u5883\u3067\u306f\u3001\u3053\u306e\u5171\u6709\u30ed\u30b0\u306e\u4f8b\u3092\u4ed6\u4eba\u306b\u516c\u958b\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u30b3\u30fc\u30c9\u5909\u66f4\u5f8c\u306f\u30c7\u30d7\u30ed\u30a4\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3082\u66f4\u65b0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"213\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-1024x213.png\" alt=\"\u30a8\u30c7\u30a3\u30bf\u53f3\u4e0a\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30cb\u30e5\u30fc\u304b\u3089\u65b0\u3057\u3044\u30c7\u30d7\u30ed\u30a4\u3092\u5b9f\u884c\u3059\u308b\u753b\u9762\u3002\" class=\"wp-image-129\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-1024x213.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-300x62.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-768x159.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23-1536x319.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h15_23.png 1922w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30d7\u30ed\u30a4\u5b8c\u4e86\u5f8c\u306b\u767a\u884c\u3055\u308c\u308b\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u306eURL\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u958b\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"407\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h42_49-1024x407.png\" alt=\"\u30c7\u30d7\u30ed\u30a4\u5b8c\u4e86\u5f8c\u306b\u767a\u884c\u3055\u308c\u305f\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u306eURL\u753b\u9762\u3002\" class=\"wp-image-132\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h42_49-1024x407.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h42_49-300x119.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h42_49-768x305.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h42_49-1536x611.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_15h42_49.png 1549w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u77ed\u3044\u8cea\u554f\u3067\u5fdc\u7b54\u3068\u30b7\u30fc\u30c82\u884c\u76ee\u3078\u306e\u4fdd\u5b58\u3092\u78ba\u8a8d\u3057\u3001\u518d\u8aad\u307f\u8fbc\u307f\u5f8c\u306e\u5c65\u6b74\u8868\u793a\u3001\u901a\u4fe1\u30a8\u30e9\u30fc\u3001\u9001\u4fe1\u4e2d\u306e\u518d\u30af\u30ea\u30c3\u30af\u3082\u8a66\u3057\u307e\u3059\u3002\u30ed\u30b0\u4fdd\u5b58\u306b\u5931\u6557\u3057\u3066\u3082API\u547c\u3073\u51fa\u3057\u306e\u6599\u91d1\u306f\u767a\u751f\u3057\u5f97\u308b\u305f\u3081\u3001\u30a8\u30e9\u30fc\u6642\u306b\u81ea\u52d5\u518d\u9001\u306f\u3057\u307e\u305b\u3093\u3002\u63b2\u8f09\u30b3\u30fc\u30c9\u306f\u30ed\u30fc\u30ab\u30eb\u306e\u6a21\u64ec\u74b0\u5883\u3067\u78ba\u8a8d\u3057\u305f\u4f8b\u3067\u3042\u308a\u3001GAS\u4e0a\u3067\u306e\u30c7\u30d7\u30ed\u30a4\u30fb\u5b9fAPI\u901a\u4fe1\u30fb\u753b\u9762\u8868\u793a\u306f\u5229\u7528\u74b0\u5883\u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"328\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-1024x328.png\" alt=\"\u5b8c\u6210\u3057\u305f\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u306e\u753b\u9762\u3067\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u3001\u5fdc\u7b54\u3092\u30c6\u30b9\u30c8\u3057\u3066\u3044\u308b\u69d8\u5b50\u3002\" class=\"wp-image-124\" srcset=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-1024x328.png 1024w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-300x96.png 300w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-768x246.png 768w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34-1536x492.png 1536w, https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/2025-05-22_14h43_34.png 1657w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0a\u3067\u3001GAS\u3092\u4f7f\u3063\u305fChatGPT\u98a8\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u306e\u69cb\u7bc9\u624b\u9806\u306f\u5b8c\u4e86\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u95a2\u9023\u30b3\u30fc\u30c9\u306f\u3001GitHub\u306e<a href=\"https:\/\/github.com\/MOTOKI-LLC\/cg-method-code\/tree\/main\/google\/gas-chatgpt\">MOTOKI-LLC\/cg-method-code<\/a>\u306b\u3082\u3042\u308a\u307e\u3059\u3002\u30ea\u30dd\u30b8\u30c8\u30ea\u3068\u672c\u8a18\u4e8b\u306e\u66f4\u65b0\u6642\u671f\u306f\u7570\u306a\u308b\u305f\u3081\u3001\u3053\u306e\u624b\u9806\u3067\u306f\u8a18\u4e8b\u5185\u306e5\u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u5f0f\u3067\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n<!-- cgm-topic:start -->\n\n\n<p class=\"wp-block-paragraph\">\u5916\u90e8\u306e\u30b5\u30fc\u30d3\u30b9\u3068\u9023\u643a\u3059\u308b\u8a18\u4e8b\u306f\u3001\u307b\u304b\u306b\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/google-sheets-natural-language-api-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/gcp-natural-language-api\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u2502Natural Language API\u3067\u611f\u60c5\u5206\u6790\u3092\u3059\u308b\u65b9\u6cd5\u2502GCP<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">\u30c6\u30ad\u30b9\u30c8\u304c\u30dd\u30b8\u30c6\u30a3\u30d6\u304b\u30cd\u30ac\u30c6\u30a3\u30d6\u304b\u3001\u3069\u306e\u7a0b\u5ea6\u306e\u611f\u60c5\u306e\u5f37\u3055\u304c\u3042\u308b\u304b\u3092\u5224\u5b9a\u3057\u305f\u3044\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u3059\u3002 Google Cloud\u306eNatural Language API\u3067\u3001\u6587\u7ae0\u306b\u8868\u308c\u305f\u611f\u60c5\u306e\u50be\u5411\u3092&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/05\/gas-skip-on-holidays-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/gas-skip-on-holidays\/\">GAS\u2502\u795d\u65e5\u30fb\u4f11\u65e5\u30fb\u6307\u5b9a\u3057\u305f\u65e5\u306f\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u30b9\u30ad\u30c3\u30d7\u3059\u308b\u65b9\u6cd5\u2502Google\u30ab\u30ec\u30f3\u30c0\u30fc\u9023\u643a<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">\u571f\u65e5\u3001\u795d\u65e5\u7528\u30ab\u30ec\u30f3\u30c0\u30fc\u3001\u72ec\u81ea\u306e\u4f11\u696d\u65e5\u30ab\u30ec\u30f3\u30c0\u30fc\u3092\u8abf\u3079\u3001\u51e6\u7406\u3092\u5b9f\u884c\u3057\u3066\u3088\u3044\u65e5\u304b\u3092\u5224\u5b9a\u3057\u307e\u3059\u3002 \u30ab\u30ec\u30f3\u30c0\u30fc\u3092\u53d6\u5f97\u3067\u304d\u306a\u3044\u5834\u5408\u306f\u505c\u6b62\u3057\u3001\u4e88\u5b9a\u304c\u306a\u3044\u5e73\u65e5\u3068\u3057\u3066\u7d9a\u884c\u3057\u307e&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/google-spreadsheet-to-jira-task-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/google-spreadsheet-to-jira-task\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u2502\u30b7\u30fc\u30c8\u304b\u3089JIRA\u306e\u30bf\u30b9\u30af\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e1\u884c\u304b\u3089\u3001GAS\u3067Jira Cloud\u306e\u8ab2\u984c\u3092\u4f5c\u6210\u3059\u308b\u7df4\u7fd2\u4f8b\u3067\u3059\u3002\u307e\u305a\u901a\u4fe1\u3057\u306a\u3044\u4e0b\u898b\u3092\u884c\u3044\u3001\u78ba\u8a8d\u3057\u305f1\u884c\u3060\u3051\u9001\u308a\u307e\u3059\u300210\u884c\u307e\u3067\u306e\u8868\u3092\u6271\u3044\u307e\u3059\u304c\u3001\u4e00\u5ea6&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<div class=\"swell-block-postLink\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cg-method.com\/google\/wp-content\/uploads\/2025\/11\/google-spreadsheet-jira-task-export-gas-300x169.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/cg-method.com\/google\/google-spreadsheet-jira-task-export-gas\/\">Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u2502JIRA\u306e\u30bf\u30b9\u30af\u3092\u30b7\u30fc\u30c8\u306b\u51fa\u529b\u3059\u308b\u65b9\u6cd5<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">Jira\u306e\u30a8\u30d4\u30c3\u30af\u3092\u6307\u5b9a\u3057\u3001\u8a72\u5f53\u3059\u308b\u30bf\u30b9\u30af\u3092Google\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3078\u51fa\u529b\u3059\u308b\u624b\u9806\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002 \u53d6\u5f97\u524d\u306b\u78ba\u8a8d\u3059\u308b\u8a2d\u5b9a\u3068\u5bfe\u8c61\u7bc4\u56f2 \u691c\u7d22API\u306enextPageToken\u65b9\u5f0f\u306b\u5408\u308f\u305b&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<!-- cgm-topic:end -->\n\n\n\n\n\n<h2 class=\"wp-block-heading\">GAS\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u306b\u3064\u3044\u3066\u3088\u304f\u3042\u308b\u8cea\u554f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u3053\u306e\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u306f\u3001\u4f55\u3067\u3067\u304d\u3066\u3044\u307e\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">UI\u3068\u51e6\u7406\u30ed\u30b8\u30c3\u30af\u306fGAS(Google Apps Script)\u3067\u4f5c\u308a\u3001\u30ed\u30b0\u306e\u4fdd\u5b58\u306b\u306fGoogle\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u4f7f\u3044\u307e\u3059\u3002\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u52d5\u304f\u7c21\u6613\u7684\u306aChatGPT\u98a8\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u3067\u3001\u5bfe\u8a71\u30ed\u30b0\u306f\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u81ea\u52d5\u3067\u8a18\u9332\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f7f\u3046\u4eba\u306b\u3082\u3001ChatGPT\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u5fc5\u8981\u3067\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u306f\u4f5c\u6210\u8005\u672c\u4eba\u3060\u3051\u304c\u30a2\u30af\u30bb\u30b9\u3059\u308b\u8a2d\u5b9a\u3067\u3059\u3002OpenAI API\u306e\u30ad\u30fc\u3068\u5229\u7528\u8a2d\u5b9a\u304c\u5fc5\u8981\u3067\u3059\u304c\u3001ChatGPT\u306e\u6709\u6599\u5951\u7d04\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\u4ed6\u4eba\u306b\u4f7f\u3063\u3066\u3082\u3089\u3046\u306b\u306f\u3001\u8a8d\u8a3c\u30fb\u5c65\u6b74\u5206\u96e2\u30fb\u5229\u7528\u91cf\u5236\u9650\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u8cbb\u7528\u306f\u3001\u304b\u304b\u308a\u307e\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT\u306eAPI\u306f\u5f93\u91cf\u8ab2\u91d1\u5236\u3067\u3059\u3002\u5229\u7528\u983b\u5ea6\u3084\u30c8\u30fc\u30af\u30f3\u306e\u6d88\u8cbb\u91cf\u306b\u5fdc\u3058\u3066\u8cbb\u7528\u304c\u5897\u3048\u308b\u305f\u3081\u3001\u4f7f\u3044\u3059\u304e\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u6599\u91d1\u3084\u30e2\u30c7\u30eb\u306e\u7a2e\u985e\u306f\u3001OpenAI\u306e\u516c\u5f0f\u30da\u30fc\u30b8\u3067\u6700\u65b0\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">API\u30ad\u30fc\u306f\u3001\u3069\u3053\u306b\u4fdd\u5b58\u3057\u307e\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GAS\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u767b\u9332\u3057\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u540d\u3092ACCESS_TOKEN\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002API\u30ad\u30fc\u3092\u30b3\u30fc\u30c9\u5185\u306b\u76f4\u63a5\u66f8\u304f\u3068\u6d41\u51fa\u306e\u5371\u967a\u304c\u3042\u308b\u305f\u3081\u3001\u30b3\u30fc\u30c9\u306b\u306f\u66f8\u304b\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u767a\u884c\u3057\u305fAPI\u30ad\u30fc\u3092\u3001\u306a\u304f\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u767a\u884c\u3055\u308c\u305f\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc\u306f\u518d\u8868\u793a\u3067\u304d\u306a\u3044\u5834\u5408\u304c\u3042\u308b\u305f\u3081\u3001\u767a\u884c\u6642\u306b\u5fc5\u305a\u63a7\u3048\u3066\u304a\u304d\u307e\u3059\u3002\u63a7\u3048\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u65b0\u3057\u3044\u30ad\u30fc\u3092\u767a\u884c\u3057\u76f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u3069\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u3001\u4f5c\u6210\u3057\u307e\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GAS\u30a8\u30c7\u30a3\u30bf\u306b\u30015\u3064\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002app.gs(Web\u30a2\u30d7\u30ea\u3068\u3057\u3066\u8868\u793a\u3059\u308b\u51e6\u7406)\u3001index.html(\u753b\u9762\u306e\u69cb\u9020)\u3001style.html(CSS)\u3001script.html(\u9001\u4fe1\u30dc\u30bf\u30f3\u3084\u5c65\u6b74\u306e\u63cf\u753b)\u3001main.gs(API\u306e\u547c\u3073\u51fa\u3057\u3068\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u9023\u643a)\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306eID\u3068\u30b7\u30fc\u30c8\u540d\u306f\u3001\u3069\u3053\u306b\u66f8\u304d\u307e\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ed\u30b0\u7528\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u65b0\u898f\u4f5c\u6210\u3057\u3001URL\u5185\u306eID\u3068\u30b7\u30fc\u30c8\u540d\u3092\u63a7\u3048\u307e\u3059\u3002\u305d\u308c\u3092\u3001main.gs\u306e\u5192\u982d\u306b\u3042\u308b\u8a2d\u5b9a\u5909\u6570\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f7f\u3046\u30e2\u30c7\u30eb\u306f\u3001\u5909\u66f4\u3067\u304d\u307e\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5909\u66f4\u3067\u304d\u307e\u3059\u304c\u3001\u63b2\u8f09\u30e2\u30c7\u30eb\u306b\u306f\u63d0\u4f9b\u7d42\u4e86\u4e88\u5b9a\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5909\u66f4\u524d\u306b\u3001<code>index.html<\/code>\u306e\u76f4\u5f8c\u306b\u3042\u308b\u671f\u9650\u3068\u78ba\u8a8d\u624b\u9806\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>GAS\uff08Google Apps Script\uff09\u3068OpenAI API\u3092\u4f7f\u3044\u3001\u8cea\u554f\u3068\u56de\u7b54\u3092\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u4fdd\u5b58\u3059\u308b\u500b\u4eba\u7528\u306e\u30c1\u30e3\u30c3\u30c8\u753b\u9762\u3092\u4f5c\u308a\u307e\u3059\u3002 ChatGPT\u306eWeb\u7248\u305d\u306e\u3082\u306e\u3092\u7d44\u307f\u8fbc\u3080\u4ed5\u7d44\u307f\u3067\u306f\u306a\u304f\u3001OpenAI  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":134,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","book_review_data":"","footnotes":"","ssp_meta_title":"ChatGPT\u3068GAS\u3067\u4f5c\u308b\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8","ssp_meta_description":"ChatGPT\u306eAPI\u3068GAS\u3092\u9023\u643a\u3057\u3001Web\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8\u3092\u4f5c\u308b\u624b\u9806\u3092\u89e3\u8aac\u3002\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3078\u5bfe\u8a71\u30ed\u30b0\u3092\u81ea\u52d5\u8a18\u9332\u3059\u308b\u8a2d\u5b9a\u3084UI\u69cb\u7bc9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002API\u306f\u5f93\u91cf\u8ab2\u91d1\u5236\u3067\u3001\u8a73\u7d30\u30b3\u30fc\u30c9\u306e\u4e00\u90e8\u306f\u6709\u6599\u30b3\u30f3\u30c6\u30f3\u30c4\u3067\u3059\u3002"},"categories":[16],"tags":[18],"class_list":["post-111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-applications","tag-gas"],"_links":{"self":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts\/111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":19,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts\/111\/revisions"}],"predecessor-version":[{"id":23842,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/posts\/111\/revisions\/23842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/media\/134"}],"wp:attachment":[{"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/media?parent=111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/categories?post=111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cg-method.com\/google\/wp-json\/wp\/v2\/tags?post=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}