LINEでChatGPT使ってみました。
気軽に使えて便利ですが、設定が難しいです。
忘れないようにブログにまとめてみました。
.
1)LineDevelopersへの登録
LineDevelopersのページを開く

1、画面下「MessagingAPI」をクリック。
.

2、「今すぐはじめよう」をクリック。
.

3、IDを「LINEアカウント」で作成。
.

4、LINEアカウントで「ログイン」
.

5、①チャンネルの種類「MessagingAPI」を選択。
②プロパイダー「新規プロパイダー」選択。
③名前入力。
④「日本」を選択。
⑤アイコン写真をアップロード。
⑥チャネル名入力
⑦何か入力。
⑧業種選択「個人」
⑨業種選択「個人」
⑩メールアドレス入力。
⑪利用規約に同意をチェック
⑫「作成」をクリック。
.

6、チャネルを作成しますか? 「OK」をクリック。

7、同意について 「同意する」をクリック。
.

8、もう一つ「同意する」をクリック。
.

チャネル完成
.
APIの設定
9、画面上の「MessagingAPI設定」をクリック。

10、チャネルアクセストークン「発行」をクリック。
.

11、チャネルアクセストークンが発行されるので、コピーして、どこかに保存しておきます。
.
2)オープンAIの登録
OpenAIのサイトを開きます。

12、画面をスクロールしていき、下の方にある「Overview」をクリック。
.

13、「Get started」をクリック。
.

14、Googleアカウントでアカウントを作ります。
.

15、アカウントが作成されたら、右上「Personal」から「View API keys」を選択します。
.

16、「Create new seacret key」をクリック。
.

17、APIキーが表示されるので、コピーして、またどこかに保存しておきます。

.
3)GAS(GoogleAppScript)の設定
Googleドライブを開きます。

18、「新規」ー「その他」ー「Google App Script」を選択。
.

19、「設定」ー「プロジェクトの設定」を選択。
.

20、画面下「スクリプトプロパティを追加」をクリック。
プロパティに「OpenAI_key」、値に17番でコピーした「APIkey」を貼り付ける。
もう一度「スクリプトプロパティを追加」をクリック。
2段目のプロパティに「Line_key」、値に11番でコピーした「チャンネルアクセストークン」を貼り付け、「スクリプトプロパティを保存」をクリック。
.

21、「エディタ」をクリック。
.

22、参考にするコードを貼り付けて、右上「デプロイ」から「新しいデプロイ」を選択。
.

23、「設定」から「ウェブアプリ」を選択。
.

24、「アクセスできるユーザー」を「全員」にして、「デプロイ」をクリック。
.

25、デプロイ更新中、しばらく時間がかかります。
.

26、「アクセス承認」をクリック。
.

27、使用する「アカウントを選択」。
.

28、「Advanced」をクリック。
.

29、出てきた「Go to 無題のプロジェクト」をクリック。
.

30、「Allow」をクリック。
.

31、表示された「URLをコピー」する。
.
LineDevelopersの画面に戻る

32、「Webhook URL」をクリック。
.

33、先ほど「コピーしたURL」を貼り付けて「更新」をクリック。
.

34、表示されたURLの「検証」をクリック。
.

35、「成功」と表示されたらOK。「OK」をクリック。

36、URLすぐ下の「Webhookの利用」を「ON」にする。
.

37、応答メッセージの「編集」をクリック。
.

38、応答機能4つのうち、「Webhook」だけを「ON」にする。
これで終了です。
.

39、あとはQRコードを使って、LINEで友だち登録してください。

LINEで友達とチャットをするような感じでChatGPTを使えました。
.
.
.
.
.
<使ったコード>
function doPost(e) {
//webhookからのpushメッセージ
const event = JSON.parse(e.postData.contents).events[0];
//取得したデータから、応答用のトークンを取得
const replyToken = event.replyToken;
//requestMessageを取得
const requestMessage = event.message.text;
//設定したスクリプトプロパティを読み込む
const OPEN_AI_KEY = ScriptProperties.getProperty(‘OpenAI_key’);
const LINE_KEY = ScriptProperties.getProperty(‘Line_key’);
//文章生成APIエンドポイント
const OPEN_AI_END_POINT = ‘https://api.openai.com/v1/completions’;
// メッセージ返信のエンドポイント
const LINE_END_POINT = ‘https://api.line.me/v2/bot/message/reply’;
//apiリクエストのheader情報を設定
const openAiHeaders = {
‘Authorization’:`Bearer ${OPEN_AI_KEY}`,
‘Content-type’: ‘application/json’,
‘X-Slack-No-Retry’: 1
};
//api設定パラメータ
const openAiParams = {
‘headers’: openAiHeaders,
‘method’: ‘POST’,
‘payload’: JSON.stringify({
‘model’: ‘text-davinci-003’,//GPTモデルの設定パラメータ
‘max_tokens’: 1024,//responceトークンの最大値
‘temperature’: 0.6,//responceのレベル
‘prompt’: requestMessage//repuest文章
})
}
//requestを送る
const res = JSON.parse(UrlFetchApp.fetch(OPEN_AI_END_POINT, openAiParams).getContentText());
const replyMessage = res.choices[0].text;
//APIリクエスト時にセットするペイロード値を設定する
const linePayload = {
‘replyToken’: replyToken,
‘messages’: [{‘type’: ‘text’, ‘text’: replyMessage}]
};
//パラメータを設定
const lineParams = {
‘payload’: JSON.stringify(linePayload),
‘headers’: {‘Authorization’: `Bearer ${LINE_KEY}`},
‘myamethod’: ‘POST’,
‘contentType’: ‘application/json’
};
UrlFetchApp.fetch(LINE_END_POINT, lineParams);
}