見出し画像

自動化したい その7


前回までのあらすじ

漆黒の闇に蠢く、歪なコード。繋がらぬサイトの真実を暴け!
「アクセス拒否? ありえない!」
天才ハッカー、ワン・フィフティー・イェンは冷笑を浮かべる。

DNSエラーの奥に潜むのは、深淵なる闇。
存在しないはずのドメイン、暗号化されたメッセージ、
そして不可解な現象。
それは、この世界を裏側から操る、異形の存在の仕業なのか?

「真実を暴き出す鍵は、俺の手に!」

漆黒のコードを解き明かし、歪な思念を断ち切る。
今、始まるのは、禁忌に挑む戦慄のサイバーバトル!

「覚悟しろ、闇の眷属ども! 真実の光で、滅ぼしてやる!」

中二病全開の魂を揺さぶる、ダークファンタジーここに開幕!
君は、真実を追い求める勇気を持っているか?
さあ、今すぐ闇に飛び込み、真実を掴み取れ!

ヒントがあった

俺の手の中に!(違
Google AI Studioの下の方にこんなものが。

■これじゃね?

この「generativelanguage.googleapis.com」で検索してみると、Google Apps Scriptから呼び出す方法の記事が色々と出てきた。
どうやら、この書いてある内容をそのままスクリプトに組み込めばいいらしい。

出来上がったGAS

前回のスクリプトに上記の内容を加えて、ちょっと修正したスクリプトがこちら。

function correctDocumentWithGemini() {
  // スクリプトプロパティからドキュメントのIDとAPIキーを取得
  var documentId = PropertiesService.getScriptProperties().getProperty('DOCID');
  var apiKey = PropertiesService.getScriptProperties().getProperty('APIKEY');

  // ドキュメントを取得
  var document = DocumentApp.openById(documentId);

  // テキストを取得
  var text = document.getBody().getText();

  // GeminiのAPIのエンドポイントURLを設定
  var apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=${apiKey}`;

  // プロンプトに加え、Gemini APIリクエストに必要なペイロードを設定
  var payload = {
    "contents": [
      {"role": "user","parts": { "text": text }}
    ],
  };

  // payloadやHTTP通信種別、認証情報をoptionで設定
  var options = {
    'payload': JSON.stringify(payload),
    'method' : 'POST',
    'muteHttpExceptions': true,
    'contentType':'application/json'
  };

  // Gemini APIにAPIリクエストを送り、結果を変数に格納
  var response = JSON.parse(UrlFetchApp.fetch(apiUrl, options).getContentText()); 

  // レスポンスを解析
  var correctedText = response.candidates[0].content.parts[0].text;

  // ドキュメントに反映
  document.getBody().appendParagraph('\n' + correctedText);
}

「APIKEY」と「DOCID」はスクリプトプロパティで設定した方が良いらしいので、そちらで設定する。
これで準備は整った。

動かしてみる

まず、Googleドキュメントに文章を書いてみる。

■こんな文章

そして、スクリプトを実行してみる。

■むお?

あれ、エラー出なかったんじゃね?
Googleドキュメントを開いてみる。

■おおおおおお

いけてんじゃん!出来てんじゃん!!
ちょっと期待した文章ではなかったが、Geminiが書いてくれてるよ。

■ロッキーなんだ

いやー、上手くできたな。
良かった、良かった。

次のステップへ

これはこれで何か面白そうなことに発展できそうな気がするな。
Geminiとのやり取りをドキュメントに保存できるし、なんか使えそうな予感がする。まだ全然思いつかないけど。

次はGoogleドキュメントの内容をNoteに「自動投稿」することをやってみようか。

この記事が気に入ったらサポートをしてみませんか?