🌟

Google API アクセストークンの取得方法

2024/10/28に公開

今回はGemini APIを導入するためにアクセストークンを取得したやり方をまとめました。

はじめに

GeminiAPIを使うために行いましたがより簡単なやり方としてAPIキーで認証する方法があるようです。自分は最終的にAPIキーで認証を行いました。
https://zenn.dev/sugarchan/articles/2ad9730f9a8d3a

開発環境

Next.js, typescript, react, npm

Access Token取得を取得

1. Install Required Packages

必要なパッケージをterminalでinstallします。

npm install google-auth-library ts-node

2. Goole API Access Tokenを取得する

1. Google Cloudプロジェクトのセットアップ

  1. Google Cloud Consoleに行く
  2. 新規プロジェクトを作成する or もしくは既存のプロジェクトを選択する

2. Gemini APIを有効にする

  1. 「APIとサービス」ダッシュボードに行く
  2. 「APIとサービスを有効にする」をクリック
  3. 「Gemini API」を探して「有効にする」をクリック

3. サービスアカウントの作成

  1. 「IAMと管理」に行き、「サービスアカウント」を選択
  2. 「サービスアカウントの作成」をクリックして作成

4. サービスアカウントキーの生成

  1. Google Cloud Consoleの「サービスアカウント」に行く
  2. 作成したサービスアカウントを選択
  3. 「キー」タブの中に、「キーを追加」 > 「新しいキーの作成」を選択
  4. 「JSON」をキータイプを選択して「作成」をクリック

3. OAuth 2.0を使用した認証の設定

上記の手順でダウンロードされたJSONファイルはローカルのダウンロードら辺に保存されます。

1. ダウンロードしたJSONファイルをプロジェクトファイルに入れる

/keys/service-account-file.json
.gitignore
# Ignore service account JSON key file
/keys/service-account-file.json

2. アクセストークンを生成するスクリプトを作成

作成場所はプロジェクトのファイル内が良いと思います。

getAccessToken.ts
const { GoogleAuth } = require('google-auth-library');
const path = require('path');

// サービスアカウントキーのファイルパスに置き換え
const keyFilePath = path.resolve(__dirname, './keys/service-account-file.json');

async function getAccessToken() {
  const auth = new GoogleAuth({
    keyFilename: keyFilePath,
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  });

  const client = await auth.getClient();
  const token = await client.getAccessToken();

  console.log('Access Token:', token?.token);
}

getAccessToken().catch(console.error);

3. 以下のスクリプトを実行してアクセストークンを生成

npx ts-node getAccessToken.ts

4. コンソールに表示されるアクセストークンをコピーしてenvファイルに設定

.env.local
GOOGLE_API_TOKEN=your_access_token_here

Discussion