【2025年3月アップデート】Custom ActionでGoogle APIが簡単連携!サービスアカウントトークン取得機能を実装
サービスアカウントからトークンを簡単取得!BigQueryやGoogleサービスとの連携を効率化するmiiboの最新機能を解説
miiboDesigner の岡大徳です。
miiboのCustom Action機能に嬉しいアップデートがありました!Google Cloud Platform上で発行可能なサービスアカウントからアクセストークンを簡単に取得できる特殊関数「getGoogleAccessToken」が3月16日にリリースされました。この新機能により、固定のAPIキーでは利用できないGoogleの各種サービスとの連携が格段に簡単になります。今回は、この新機能の詳細と実践的な活用方法をご紹介します。
新機能「getGoogleAccessToken」の概要
「getGoogleAccessToken」は、Google Cloud Platformのサービスアカウント情報を利用してOAuth2アクセストークンを取得する特殊関数です。この機能により、以下のような利点が生まれます:
固定APIキーでは利用できないGoogleサービスへのアクセスが可能
トークンの取得・更新処理を自動化
複雑な認証フローをわずか1行のコードで実現
特に、セキュリティ要件の高いGoogle APIとの連携が大幅に簡素化され、開発効率の向上につながります。
基本的な使い方
「getGoogleAccessToken」の使用方法はシンプルです。Google Cloud Platformで発行したサービスアカウントのJSON情報を環境変数に登録し、関数を呼び出すだけでアクセストークンが取得できます。
const tokenInfo = getGoogleAccessToken(env.GOOGLE_APPLICATION_CREDENTIALS_JSON);
トークン情報には、access_token
、expires_in
、token_type
などの情報が含まれます。これらを利用して、Google APIへのアクセスが可能になります。
実践的な活用例:BigQueryとの連携
Google BigQueryは、大規模データ分析に優れたサービスですが、APIキーだけでは利用できず、OAuth2認証が必要です。新機能を使えば、BigQueryとの連携が簡単に実現できます。
以下は、BigQueryのAPIを呼び出す実装例です:
try {
// サービスアカウントJSONからGoogle OAuth2トークンを取得
const tokenInfo = getGoogleAccessToken(env.GOOGLE_APPLICATION_CREDENTIALS_JSON);
// BigQuery APIへのリクエスト
const response = fetch(`${env.BIGQUERY_API_URL}/projects/${env.BIGQUERY_PROJECT_ID}/queries`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${tokenInfo.access_token}`
},
body: JSON.stringify({
query: input.query,
useLegacySql: false
})
});
if (response.status !== 200) {
throw new Error(`BigQuery API request failed: ${response.status}`);
}
result.success = true;
result.messages = ['Query executed successfully', response.body];
} catch (err) {
result.error = err.message;
}
この例では、環境変数に設定されたサービスアカウント情報からトークンを取得し、BigQueryの検索APIを呼び出しています。エラー処理も適切に実装されており、実用的なコードとなっています。
導入手順:3ステップで始める方法
新機能の導入は、以下の3ステップで簡単に開始できます:
1. Google Cloud Platformでの準備
Google Cloud Platformでプロジェクトを作成(または既存のプロジェクトを選択)
必要なAPIを有効化(例:BigQuery API)
サービスアカウントを作成し、適切な権限を付与
サービスアカウントのJSONキーをダウンロード
2. miiboの環境変数設定
Custom Action管理画面で新規作成または既存のActionを選択
環境変数セクションで「追加」ボタンをクリック
キー名(例:
GOOGLE_APPLICATION_CREDENTIALS_JSON
)を入力値に先ほどダウンロードしたJSONの内容をコピー&ペースト
機密情報なので「シークレット」にチェック
3. コードの実装とテスト
Custom ActionのJavaScriptコードに先ほどの例を参考に実装
「保存」ボタンをクリック
「テスト実行」で動作確認
これで、Googleサービスとの連携機能が実装完了です!
活用アイデア:5つの連携シナリオ
getGoogleAccessToken関数を活用したGoogleサービスとの連携シナリオをいくつかご紹介します:
データ分析アシスタント:ユーザーの質問に応じてBigQueryでデータを分析し、その結果を会話型AIで自然言語化して返答
カレンダー連携:Google Calendarと連携し、ユーザーのスケジュール確認や予定追加を会話で実現
ドキュメント検索:Google Driveやスプレッドシートに格納された社内ドキュメントを検索し、必要な情報を抽出
メール連携:Gmail APIと連携し、特定の条件に合うメールを検索・要約
翻訳サービス:Google Cloud Translationと連携し、会話内容をリアルタイムで翻訳
Q&A
Q: この機能を利用するために特別な権限設定は必要ですか?
A: miiboの機能としては特別な権限は不要ですが、Google Cloud Platform側で適切なAPIの有効化とサービスアカウントへの権限付与が必要です。利用したいGoogleサービスに応じた権限をサービスアカウントに付与してください。
Q: トークンの有効期限はどれくらいですか?
A: 通常、Google OAuthトークンの有効期限は1時間です。有効期限が切れた場合は、再度getGoogleAccessToken関数を呼び出すことで新しいトークンを取得できます。関数内では自動的にトークンのリフレッシュは行われないため、長時間の処理を行う場合は有効期限を考慮した実装が必要です。
miiboの詳細なFAQについては、以下のURLをご覧ください: https://daitoku0110.net/faq/
miiboコミュニティ最新情報
コミュニティでは、早速この新機能を活用した事例が共有されています。特に、BigQueryを使ったデータ分析AIや、Google Calendar連携による予定管理アシスタントなど、実用的な活用例が注目を集めています。また、サービスアカウントの権限設定やセキュリティ対策についても活発な議論が行われています。皆さんも新機能を試していただき、ぜひコミュニティで活用アイデアを共有してください!
miiboコミュニティはこちら:https://www.facebook.com/groups/miibo
まとめ
今回リリースされた「getGoogleAccessToken」機能により、Google Cloud Platformの各種サービスとmiiboの連携が格段に簡単になりました。これまで複雑だったOAuth2認証プロセスがわずか1行のコードで実現できるようになり、開発効率の大幅な向上が期待できます。
BigQueryやGoogle Calendar、Google Driveなど、多様なGoogleサービスとの連携が容易になることで、miiboの活用シーンがさらに広がるでしょう。皆さんもぜひこの新機能を試してみて、ビジネスに役立つ革新的なAIアプリケーションを開発してみてください。
新機能についての詳細は、公式ドキュメントでもご確認いただけます。また、新機能の活用方法やベストプラクティスについてご質問がございましたら、miiboコミュニティでぜひご相談ください。
それでは、また次回のニュースレターでお会いしましょう! miiboを楽しんでください!
miiboDesigner岡大徳:https://daitoku0110.net/
miiboガイドページ:https://daitoku0110.net/miibo-guide/
miiboDesigner岡大徳が徹底解説、「miibo」の全貌と描く未来:https://miibo.site/