0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

gogcliをWindows11で使えるようにしてみよう

0
Posted at

gogcliをWindows11で使えるようにしてみよう

image.png
GitHub - steipete/gogcli: Google Suite CLI: Gmail, GCal, GDrive, GContacts. · GitHub

この記事では、Gmail、カレンダー、ドライブなどのGoogle Workspace(旧G Suite)サービスをターミナルから一括操作できるオープンソースの強力なコマンドラインツールである gogcli(gog) の操作環境をWindows11で構築しみようというものです。

Windows11のWSL(Ubuntu)上に構築して、使用することができるかどうかを確認してみます。

参考

gog cli(gogcli)とは

「gog cli(gogcli)」は、Gmail、カレンダー、ドライブなどのGoogle Workspace(旧G Suite)サービスをターミナルから一括操作できるオープンソースの強力なコマンドラインツールです。

ブラウザを開く手間を省き、単一のバイナリで複数のGoogleサービスを高速かつスクリプトフレンドリーに制御できるのが最大の特徴です。

主な特徴と機能

  • 広範なサービス対応: Gmail, Calendar, Drive, Contacts, Sheets, Docs, Slidesなど、主要サービスに対応しています
  • JSON出力対応: 全コマンドで --json フラグを使用でき、jq やAIエージェントとの連携が容易です
  • API・AI連携: 全コマンドでJSON出力をサポートし、jq やAIエージェントと連携可能です
  • マルチアカウント: 複数アカウントの切り替えが容易で、OS標準のキーリングを利用したセキュアな設計です
  • 独自機能: sedmat を使用し、コマンドラインからGoogleドキュメントの書式設定(太字、色、テーブル追加など)を編集可能です
  • 高度な編集機能: sedmat を使用し、コマンドラインからGoogleドキュメントの書式設定(太字、色、テーブル追加など)を編集可能です

WSL上でUbuntuの環境を構築する

# WSL本体と標準のUbuntuをまとめてインストールする(初回のみ・要再起動)
wsl --install

# インストール済みのLinux一覧と、現在の動作状態・WSLバージョンを確認する
wsl -l -v

# 名前を指定して特定のUbuntu(この場合は 'Ubuntu')を起動する
wsl -d Ubuntu

Homebrewをインストールする

Homebrew(ホームブリュー)は、macOSやLinuxで動作する「パッケージ管理システム」です。
AppleやLinux標準では提供されていない便利な開発ツールやアプリ(パッケージ)を、コマンド一つで簡単にインストール・管理できるようになります。

主な特徴

  • 一括管理: ソフトウェアのインストール、更新、削除をターミナルから一括で行えます
  • 依存関係の自動解決: あるソフトを動かすのに別のソフトが必要な場合、それらも自動で一緒にインストールしてくれます
  • GUIアプリも対応: ブラウザやエディタなどの一般的なアプリも brew install --cask で管理可能です

基本的な使い方

ターミナルを開き、以下のコマンドを入力して操作します。

操作 コマンド
検索 brew search <パッケージ名>
インストール brew install <パッケージ名>
アプリのインストール brew install --cask <アプリ名>
更新(リスト更新) brew update
一括アップグレード brew upgrade
アンインストール brew uninstall <パッケージ名>
インストール済一覧 brew list

Ubuntuへのインストール手順

インストールには、Homebrew公式サイトから提供されているスクリプトを使用します。

以下の作業は、WSL上に構築したUbuntu上で行ってください。
Windows11にインストール済みの環境一覧と起動するコマンドを以下に示します。

# インストール済みのLinux一覧と、現在の動作状態・WSLバージョンを確認する
wsl -l -v

# 名前を指定して特定のUbuntu(この場合は 'Ubuntu')を起動する
wsl -d Ubuntu

1. 必要なツールのインストール

まず、Homebrewの動作に必要な基本ツールを apt でインストールします。

sudo apt update
sudo apt install build-essential procps curl file git -y

2. インストールスクリプトの実行

次に、Homebrew本体をインストールします。rootユーザーではなく、一般ユーザーで実行してください。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

[参考]
macOS(またはLinux)用パッケージマネージャー — Homebrew

3. パスを通す(環境変数の設定)

インストール完了後、ターミナルの出力に従い、brew コマンドが使えるようにパスを通します。以下のようなコマンドが表示されるので、ターミナルにコピー&ペーストして実行してください(パスは環境によって異なる場合があります)。

(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

4. 動作確認

正しくインストールされたか確認します。

brew doctor

Your system is ready to brew. と表示されれば、Homebrewが正常にインストールされています。

gogcliのインストール

Homebrewを使って、gogをインストールします。

brew install gogcli

確認

gog version

バージョン情報が表示されれば、gogcliが正常にインストールされています。

OAuth認証をセットアップする

gogcliを使用するには、Google Cloud ConsoleでOAuthクライアントを作成し、認証情報を登録する必要があります。この設定は初回のみで、一度完了すれば以降は不要です。

1. プロジェクトの作成

https://console.cloud.google.com/projectcreate にアクセスし、新しいプロジェクトを作成します。

  • プロジェクト名:任意
    • 例:gogcli
  • リソース:組織なし

2. APIの有効化

gogから操作するAPIを有効にします。

1. 画面左のメニューからAPIとサービスを選択→「有効なAPIとサービス」を選択→「ライブラリ」を選択

画面上部で、gogcli(プロジェクト名)が選択されていることを確認してください。
image.png

2. gogcliから使用したいサービスのAPIを選択

  • 使用できるAPIの例
    • Gmail API
      • メールの送信、受信、検索、ラベル管理など、Gmailのメールボックス操作をプログラムから実行できます
    • Calendar API
      • 予定の作成・編集やカレンダーの共有、リマインダーの設定など、Googleカレンダーの機能を統合できます
    • Drive API
      • Googleドライブ内のファイルのアップロード、ダウンロード、検索、およびフォルダ構造の管理が可能です
    • Sheets API
      • スプレッドシートのデータの読み書き、書式設定、グラフの作成などを直接操作し、データ処理を自動化できます
    • Classroom API
      • クラスの作成、課題の配信、成績の管理など、Google Classroom上の学習管理ワークフローを制御できます
    • Tasks API
      • ToDoリスト(Google Tasks)のタスク作成、期限設定、完了状況の更新といったタスク管理機能を操作できます
例として、Google Classroom APIを有効にしてみます。

APIとサービスから「ライブラリ」をクリック

  1. APIライブラリの検索窓(「APIとサービスを検索」)に「Classroom」と入力
    image.png
  2. 「表示されたAPI」をクリック
    image.png
  3. 「有効にする」をクリック
    image.png

3. OAuth同意画面の設定

アプリ名やサポートメールを設定します。個人利用の場合は「外部」を選択し、テスト状態のままで問題ありません。

  1. 開始をクリック
    image.png
  2. プロジェクト構成
    • アプリ情報:アプリ名とユーザサポートメール(メールアドレス)を入力→次へ
    • 対象:内部を選択→次へ
    • 連絡先情報(これらのメールアドレスは、プロジェクトの変更について Google からお知らせするために使用します。):メールアドレスを入力→次へ
  3. 終了:「同意します」をチェック→続行
  4. 作成:作成をクリック

4. OAuthクライアントの作成

  1. アプリケーションの種類:デスクトップアプリを選択
  2. 名前:任意で設定 例:gogcliアプリ
    • この名前はコンソールでクライアントを識別するためにのみ使用され、エンドユーザーには表示されません
  3. 作成をクリック
    • 注: 設定が有効になるまで 5 分から数時間かかることがあります
  4. JSON(クライアントシークレット)をダウンロード

4. gogcliへの認証情報登録

ダウンロードしたJSONファイル(クライアントシークレット)をgogに登録します。

# 認証情報を保存
gog auth credentials ~/Downloads/client_secret_xxxxx.json

# Googleアカウントを認証(ブラウザが自動で開く)
gog auth add you@gmail.com

Enter passphrase to unlock "/home/username/.config/gogcli/keyring":
# パスワードを空に設定するために、何も入力せずにEnterを押す

# 認証状態の確認
gog auth status

認証が完了すると、トークンはOSのキーリング(macOSならKeychain、LinuxならSecret Service、WindowsならCredential Manager)に安全に保存されます。

5. デフォルトアカウントの設定

毎回--accountの指定やPassphraseを入力する手間を省くために、環境変数を設定しておくと便利です。.bashrcや.zshrcに以下の設定を追加しましょう。

この作業は、セキュリティホールになる可能性があります。

  • パスフレーズを平文で設定ファイルに記載する

自己責任でお願いします。

# echoコマンドで.bashrcに設定を追加

#デフォルトアカウントの指定
echo 'export GOG_ACCOUNT=you@gmail.com' >> ~/.bashrc
# passphraseの指定
# で指定したパスフレーズ(この資料では空白(パスフレーズなし))
echo 'export GOG_KEYRING_PASSWORD="あなたのパスフレーズ"' >> ~/.bashrc

gogcliの動作を確認する

Gmail API

Gmail APIを利用して、2週間以内の未読メールを最大20件まで表示します。

gog gmail search 'is:unread newer_than:14d' --max 20

その他のコマンドは以下を参考にしてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?