Chrome拡張機能の基本設定:manifest.jsonの書き方と権限管理

, ,
前回は、右クリックでGoogleカレンダーに素早く予定を登録する拡張機能の全体設計と準備について確認しました。

拡張機能を開発するうえで最初に作成するのが、拡張機能の設計図となる「manifest.json」です。

現在のChrome拡張機能は「Manifest V3」という新しい仕様に準拠して記述する必要があります。

今回は、余計な権限を要求しない安心のセキュリティ設計を意識しながら、manifest.jsonの各項目の役割と書き方を分かりやすく解説します。

第2回図解画像

Manifest V3におけるmanifest.jsonの構造と役割

manifest.jsonとは?その役割

manifest.json は、拡張機能のメタデータ(名称、説明、バージョンなど)や、ブラウザに対して要求する権限、実行するスクリプトファイルを定義するファイルです。

Google Chromeはこのファイルを読み込むことで、「この拡張機能がどのような機能を持っており、どのような権限で動作するのか」を判別します。

manifest.jsonの全コード

作成した作業フォルダ内に、manifest.json というファイルを作成し、以下のコードをそのまま記述します。

{
  "manifest_version": 3,
  "name": "Quick Add to Google Calendar",
  "version": "1.0.0",
  "description": "選択したテキストから素早くGoogleカレンダーの予定を作成します。",
  "permissions": [
    "contextMenus"
  ],
  "background": {
    "service_worker": "background.js"
  }
}

各プロパティの詳しい解説

1. 基本情報(メタデータ)

  • manifest_version:マニフェストのバージョンを指定します。現在の標準である 3 を指定します。
  • name:Chromeの拡張機能一覧やツールバーに表示される名前です。
  • version:拡張機能のバージョン番号です。初期開発時は 1.0.0 などとします。
  • description:機能の概要説明です。管理画面等で表示されます。

2. 権限設定(permissions)

今回の拡張機能で最も注目したいのが、権限を contextMenus だけに絞っている点です。

  • 右クリックメニュー(コンテキストメニュー)を登録するために必須の権限です。
  • 閲覧履歴、Cookie、開いているWebページのDOM情報へのアクセス権限(tabsやactiveTabなど)は一切要求しません。
  • 余計な警告メッセージが出ないため、セキュリティ面でも安心して使用できます。

3. バックグラウンド設定(background)

Manifest V3では、従来の常駐型バックグラウンドページに代わり、イベント発生時のみ起動するService Workerが採用されています。
"service_worker": "background.js" と指定することで、メモリを無駄に消費せず、ブラウザの動作を高速に保つことができます。

JSONを記述する際の注意点

JSON形式のファイルは文法に厳格です。よくある初歩的なミスとして以下があります。

  • 末尾の不要なカンマ:最後の要素の後ろにカンマ(,)を残すと読み込みエラーになります。
  • 二重引用符(ダブルクォーテーション):文字列やキーは必ずダブルクォーテーション(”)で囲みます。シングルクォーテーション(’)は使用できません。

まとめと次回の内容

これで拡張機能の土台となる設計図の準備が整いました。権限を最小限に絞ることで、シンプルかつ安全な構成を実現しています。

次回は、右クリックされたときに選択テキストを取得し、Googleカレンダーを開くメインスクリプト「background.js」の実装に進みます。


eguchi.netをもっと見る

購読すると最新の投稿がメールで送信されます。