<書き方の例>※修正してご利用ください。不要な部分や本メッセージは削除してからご送信ください。
【概要】GASのコード作成についてお願いできればと思います。
【目的】Docs botというアプリケーションとTwitterのAPIを連携させ、Twitterの自動投稿をしたい
【依頼背景】Twitterの自動アカウントを運用するにあたり、Twitter APIとDocs botを連携させるコードの作成が必要となりました。
【提案の際のお願い】提案される際はサンプルコードについてご提示頂けますと検討がしやすいです。宜しくお願いいたします。
以下、現状のコードになります。
====
//LINEアクセストークンの設定
const LINE_ACCESS_TOKEN = "先の手順で取得したLINEのチャンネルアクセストークン";
// メッセージ返信のエンドポイント
const LINE_END_POINT = "https://api.line.me/v2/bot/message/reply";
// DocsbotのTeam IDとBot ID
const TEAM_ID = "先の手順で取得したDocsbotのTeam ID";
const BOT_ID = "先の手順で取得したDocsbotのBot ID";
// Docsbotのエンドポイント
const DOCSBOT_END_POINT = `https://api.docsbot.ai/teams/${TEAM_ID}/bots/${BOT_ID}/chat`;
// DocsBotを使ってChatGPTにリクエストを送る
function requestToAI(requestMessage) {
const docsbotParams = {
method: "post",
headers: {"Content-Type": "application/json"},
payload: JSON.stringify({"question": requestMessage})
};
const response = UrlFetchApp.fetch(DOCSBOT_END_POINT, docsbotParams);
const replyMessage = JSON.parse(response.getContentText()).answer;
return replyMessage;
}
function doPost(e) {
//webhook(LINEボット)からのリクエストイベント
const event = JSON.parse(e.postData.contents).events[0];
//応答用のトークンを取得
const replyToken = event.replyToken;
//送られてきたメッセージを取得
let requestMessage = event.message.text;
//Docsbotにリクエストを送りレスポンスを生成
let replyMessage = requestToAI(requestMessage);
//APIリクエスト時にセットするペイロード値を設定する
const linePayload = {
"replyToken": replyToken,
"messages": [{"type": "text", "text": replyMessage}]
};
//パラメータを設定
const lineParams = {
"payload": JSON.stringify(linePayload),
"headers": {"Authorization": `Bearer ${LINE_ACCESS_TOKEN}`},
"myamethod": "POST",
"contentType": "application/json"
};
//Messaging APIでメッセージ送信
UrlFetchApp.fetch(LINE_END_POINT, lineParams);
}
//LINEは介さず、本番同様にリクエストを送る
function test(){
const requestMessage = "こんにちは。あなたの名前はなんですか?";
console.log(requestToAI(requestMessage));
}
====