始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Configure the OAuth consent screen
/ 30
Create an Apps Script project
/ 30
Apply sentiment analysis
/ 40
Configure the OAuth consent screen
/ 30
Create an Apps Script project
/ 30
Apply sentiment analysis
/ 40
アドインは Google Workspace の機能を拡張し、Google Workspace ユーザーの生産性向上とワークフローの改善に役立ちます。このラボでは、Gemini と Agent Platform の機能を活用して Gmail の感情分析を行う Google Workspace アドオンを構築します。必要なクラウド リソース(Agent Platform API を含む)をセットアップし、Apps Script プロジェクトを構成して、アドオンをデプロイする。
このアドオンを使用すると、否定的なトーンのメールを自動的に識別してラベル付けできます。これを使用して、カスタマー サービス対応の優先順位付けや、機密性の高いメールの迅速な特定を行うことができます。
ラボを終了する頃には、ビジネス コンテキスト内で生産性とコミュニケーションを向上させるための AI の実用的な応用を示す、機能的なツールが完成しているでしょう。
このラボでは、次のことを行います。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Google Cloud コンソールにログインしました。Gmail にログインします。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
これでラボのアクティビティを開始する準備が整いました。
このタスクでは、Agent Platform API を有効にしてから、OAuth 同意画面を構成し、Google Workspace でユーザーに表示する内容を定義します。
Google Cloud コンソールのナビゲーション メニューで、[API とサービス] > [ライブラリ] をクリックします。
[API とサービスを検索] ボックスに「Agent Platform API」と入力し、検索結果で [Agent Platform API] をクリックします。
[有効にする] をクリックして API を有効にします。
[API / サービスの詳細] ページが開きます。
左側のペインで、[OAuth 同意画面] をクリックします。
[利用開始] をクリックします。
[アプリ情報] で次の設定を行い、[次へ] をクリックします。
[進行状況を確認]
をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、アドオンを Apps Script プロジェクトとして作成して構成します。
Apps Script プロジェクトを作成するときに使用する Google Cloud プロジェクト番号を取得するには、次の手順を行います。
ナビゲーション メニュー()で、[Cloud の概要] > [ダッシュボード]
をクリックします。
[プロジェクト情報] セクションで、このラボで後で使用するプロジェクト番号を記録します。
[受講者用リソース] ペインで、script.google.com/ のリンクをクリックして Apps Script ページを開きます。
[新しいプロジェクト] をクリックして、Apps Script プロジェクトを作成します。
プロジェクトに名前を付けます。
マニフェスト ファイルを表示します。
Google Cloud Platform プロジェクトを変更します。
[進行状況を確認]
をクリックして、目標に沿って進んでいることを確認します。
次の手順に沿って、サンプルコードでプロジェクトを更新します。
appsscript.json
を開き、ファイルの内容を次のように置き換えます。
こんにちは。また納期が遅れています。
サブスクリプションをキャンセルする前に、できるだけ早くご連絡ください。
`, name: 'Customer C' } ]; // Send each sample email for (const email of sampleEmails) { GmailApp.sendEmail(userEmail, email.subject, email.body, { name: email.name, htmlBody: email.htmlBody }); } // Return a notification return buildNotificationResponse("Successfully generated sample emails"); } /** * Analyzes the sentiment of the first 10 threads in the inbox * and labels them accordingly. * * @returns {ActionResponse} - 完了を確認する通知。 */ function analyzeSentiment() { // Analyze and label emails analyzeAndLabelEmailSentiment(); // Return a notification return buildNotificationResponse("Successfully completed sentiment analysis"); } /** * Analyzes the sentiment of emails and applies appropriate labels. */ function analyzeAndLabelEmailSentiment() { // ラベル名を定義する const labelNames = ["HAPPY TONE 😊", "NEUTRAL TONE 😐", "UPSET TONE 😡"]; // 各感情のラベルを取得または作成する const positiveLabel = GmailApp.getUserLabelByName(labelNames[0]) || GmailApp.createLabel(labelNames[0]); const neutralLabel = GmailApp.getUserLabelByName(labelNames[1]) || GmailApp.createLabel(labelNames[1]); const negativeLabel = GmailApp.getUserLabelByName(labelNames[2]) || GmailApp.createLabel(labelNames[2]); // 受信トレイの最初の 10 件のスレッドを取得する const threads = GmailApp.getInboxThreads(0, 10); // 各スレッドを反復処理する for (const thread of threads) { // スレッド内の各メッセージを反復処理する const messages = thread.getMessages(); for (const message of messages) { // メッセージのプレーン テキストの本文を取得する const emailBody = message.getPlainBody(); // メール本文の感情を分析する const sentiment = processSentiment(emailBody); // 感情に基づいて適切なラベルを適用する if (sentiment === 'positive') { thread.addLabel(positiveLabel); } else if (sentiment === 'neutral') { thread.addLabel(neutralLabel); } else if (sentiment === 'negative') { thread.addLabel(negativeLabel); } } } } /** * Sends the email text to Agent Platform for sentiment analysis. * * @param {string} emailText - 分析するメールのテキスト。 * @returns {string} - メールに対する感情('positive'、'negative'、'neutral')。 */ function processSentiment(emailText) { // API エンドポイントの URL を構築する const apiUrl = `https://${VERTEX_AI_LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${VERTEX_AI_LOCATION}/publishers/google/models/${MODEL_ID}:generateContent`; // リクエスト ペイロードを準備する const payload = { contents: [ { role: "user", parts: [ { text: `Analyze the sentiment of the following message: ${emailText}` } ] } ], generationConfig: { temperature: 0.9, maxOutputTokens: 1024, responseMimeType: "application/json", // Expected response format for simpler parsing. responseSchema: { type: "object", properties: { response: { type: "string", enum: ["positive", "negative", "neutral"] } } } } }; // リクエスト オプションを準備する const options = { method: 'POST', headers: { 'Authorization': `Bearer ${ScriptApp.getOAuthToken()}` }, contentType: 'application/json', muteHttpExceptions: true, // エラー レスポンスを検査する場合は true に設定する payload: JSON.stringify(payload) }; // API リクエストを行う const response = UrlFetchApp.fetch(apiUrl, options); // レスポンスを解析する。解析する JSON レスポンスには 2 つのレベルがあります。 const parsedResponse = JSON.parse(response.getContentText()); const sentimentResponse = JSON.parse(parsedResponse.candidates[0].content.parts[0].text).response; // Return the sentiment return sentimentResponse; }
[保存]
をクリックしてプロジェクトを保存します。
このタスクでは、アドオンをデプロイし、その後インストールを確認します。
タイトルバーで、[デプロイ] > [デプロイをテスト] をクリックします。
[アプリケーション] に [Gmail] が表示されていることを確認し、[インストール] をクリックします。
[完了] をクリックします。
アドオンがリストに表示されない場合は、ブラウザ ウィンドウを更新してください。
それでもアドオンが表示されない場合は、Apps Script プロジェクトに戻り、[デプロイをテスト] ウィンドウからアドオンをアンインストールして再インストールしてください。
これでアドオンを実行する準備が整いました。このタスクでは、アドオンを開いて承認し、メールを生成して分析が機能することを確認します。
Gmail の右側のペインで、[感情分析]()をクリックします。
サイドパネルが開いたら、[権限を付与] をクリックします。
同意画面が開きます。メールアドレス(
同意すると、右側に [感情分析] ペインが開きます。
アドオンで、分析をテストするためのサンプルメールが生成されるようになりました。生成が完了するとメッセージが表示されます。生成には数秒しかかかりません。
サンプルメールが受信トレイに表示されるまで待ちます。新しいメールを表示するには、受信トレイを更新する必要がある場合があります。
サンプルメールが受信トレイに届いたら、[感情分析] ペインで [メールを分析] をクリックします。
アドオン画面の下部に、分析が完了したことを示すメッセージが表示されます。
このアドオンはメールを分析し、受信トレイのメッセージに適切なラベル(「HAPPY TONE 😊」、「UPSET TONE 😡」、「NEUTRAL TONE 😐」)を適用します。
ラベルが適用されたことを確認するには、Gmail を更新する必要がある場合があります。
[進行状況を確認]
をクリックして、目標に沿って進んでいることを確認します。
これで、「Gemini と Agent Platform を使用した Gmail の感情分析」ラボが完了しました。
このラボでは、次の操作について学習しました。
これで、メールの優先順位付けやワークフローの改善に役立つ、機能的な Gmail アドオンが完成しました。アドオンをさらに試して、感情分析をカスタマイズしたり、新しい機能を追加したりしてみましょう。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 11 月 28 日
ラボの最終テスト日: 2025 年 11 月 28 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください
ラボを開始するには、この簡単な手順を完了してください。