
GoogleSheetsでGeminiを使おう(初心者向け全行程解説)
ひととおりGemini ProのAPIを使った方々の感想も出揃ってきたところ、Sheetsから簡単にアクセスしたいけどGoogleAppsScriptを書くのめんどくさいな、とお思いの頃合いかと思います。そこで、コピペで使える、Google SheetsからGeminiを呼び出せるGoogle Apps Scriptと実際の使用例を書いておこうと思います。

まずは、Google Sheetsに新しいファイルを作り、Extensionsから Apps Script を選びましょう。

① プロジェクト名を適当に変更して
② エディターに次のコードをコピペします
※ 今回の記事ではプロジェクト名を「Gemini_test」にしてみました

function gemini(promptText) {
// APIキーを取得する。
var apiKey = PropertiesService.getScriptProperties().getProperty('GEMINI_API_KEY');
// リクエストボディを作成する。
var requestBody = {
"contents": [
{
"parts": [
{
"text": promptText
}
]
}
],
"generationConfig": {
"temperature": 0.9,
"topK": 1,
"topP": 1,
"maxOutputTokens": 2048,
"stopSequences": []
}
};
// リクエストを送信する。
var response = UrlFetchApp.fetch('https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=' + apiKey, {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(requestBody)
});
// レスポンスをパースする。
var responseJson = JSON.parse(response.getContentText());
// 生成されたテキストを返す。
return responseJson.candidates[0].content.parts[0].text;
}
ペーストしたら保存を押します

次は、Project Settingsに移動します

Add script property を選択します

GEMINI_API_KEY
を追加して、保存します。

API Keyはここから取得できます




エディタに戻りましょう

Run で実行しましょう

アクセス権限くださいと言われるので、Review permissions を押して内容を確認します

ウィンドウが開いて、こんな表示になるので、ログインしているGoogleアカウントを選択します

なんかこわいことを言われますが、気にせず Advanced を選択します

Go to Gemini_test(さっき設定したプロジェクト名が表示されます)を押します

外部サービスへの接続を許可してねと表示されるので、Allow を押して許可します

するとウィンドウが閉じて、エディタに戻ります。実行ログの欄に何やら赤くエラーがでていますが、この時点でエラーコード400なら成功です。
まだ Gemini にテキストプロンプトを渡していないので、今エラーが出るのは正しい挙動なので安心してください。

じゃあいよいよ Google Sheets から Gemini を呼び出します
B2 セルに、「こんにちは」と入力
C2 セルに、「=gemini(B2)」と入力してリターンキー

何秒か待つと、Gemini からの返答が表示されます

お疲れさまでした!色々試して便利な使い方を模索してみましょう〜!