ほとんどの拡張機能は、1 つ以上の Chrome Extensions API にアクセスできる必要があります。この API リファレンスでは、拡張機能で使用できる API とユースケースの例について説明します。
Extensions API の一般的な機能
Extensions API は、拡張機能の処理を行うメソッドとプロパティを含む名前空間で構成されています。通常は manifest.json
ファイルのマニフェスト フィールドが含まれますが、必ずしもそうとは限りません。たとえば、chrome.action
名前空間には、マニフェストに "action"
オブジェクトが必要です。多くの API では、マニフェストでの権限も必要です。
拡張機能 API のメソッドは、特に明記されていない限り非同期です。非同期メソッドは、呼び出し元のオペレーションの完了を待たずに、直ちに返されます。これらの非同期メソッドの結果を取得するには、Promise を使用します。
Chrome Extension API
- accessibilityFeatures
-
chrome.accessibilityFeatures
API を使用して Chrome のユーザー補助機能を管理します。この API は、個々のユーザー補助機能を取得および設定するために、API タイプの ChromeSetting プロトタイプを使用します。特徴の状態を取得するには、拡張機能がaccessibilityFeatures.read
権限をリクエストする必要があります。特徴の状態を変更するには、拡張機能にaccessibilityFeatures.modify
権限が必要です。accessibilityFeatures.modify
はaccessibilityFeatures.read
権限を意味するものではありません。 - 操作
-
Chrome 88 以降 MV3 以降
chrome.action
API を使用して、Google Chrome ツールバーの拡張機能のアイコンを制御します。 - alarms
-
chrome.alarms
API を使用して、コードを定期的に、または将来の指定した時刻に実行するようにスケジュールします。 - 音声
-
Chrome 59 以降 ChromeOS のみ
chrome.audio
API は、ユーザーがシステムに接続されているオーディオ機器に関する情報を取得してコントロールできるようにするために提供されます。この API は現在、ChromeOS のキオスクモードでのみ使用できます。 - ブックマーク
-
chrome.bookmarks
API を使用すると、ブックマークの作成、整理、その他の操作ができます。オーバーライド ページもご覧ください。これを使用すると、ブックマーク マネージャーのカスタム ページを作成できます。 - browsingData
-
chrome.browsingData
API を使用して、ユーザーのローカル プロファイルからブラウジング データを削除します。 - certificateProvider
-
Chrome 46 以降 ChromeOS のみ
この API を使用して証明書をプラットフォームに公開すると、そのプラットフォームはこの証明書を TLS 認証に使用できます。
- コマンド
-
Command API を使用すると、拡張機能での操作(ブラウザの操作を開く操作や拡張機能にコマンドを送信する操作など)をトリガーするキーボード ショートカットを追加できます。
- contentSettings
-
chrome.contentSettings
API を使用して、ウェブサイトが Cookie、JavaScript、プラグインなどの機能を使用できるかどうかを制御する設定を変更します。より一般的な話として、コンテンツ設定を使用すると、Chrome の動作をグローバルではなくサイトごとにカスタマイズできます。 - contextMenus
-
chrome.contextMenus
API を使用して、Google Chrome のコンテキスト メニューにアイテムを追加します。画像、ハイパーリンク、ページなど、コンテキスト メニューの追加を適用するオブジェクトの種類を選択できます。 - Cookie
-
chrome.cookies
API を使用して、Cookie のクエリと変更を行い、変更されたときに通知を受け取れるようにします。 - デバッガ
-
chrome.debugger
API は、Chrome のリモート デバッグ プロトコルの代替トランスポートとして機能します。chrome.debugger
を使用して 1 つ以上のタブにアタッチし、ネットワーク インタラクションの計測、JavaScript のデバッグ、DOM と CSS の変更などを行います。Debuggee
プロパティtabId
を使用して、sendCommand
でタブをターゲットにし、onEvent
コールバックからtabId
でイベントを転送します。 - declarativeContent
-
chrome.declarativeContent
API を使用すると、ページのコンテンツの読み取り権限を必要とせず、ページのコンテンツに応じた操作を行うことができます。 - declarativeNetRequest
-
Chrome 84 以降
chrome.declarativeNetRequest
API は、宣言型ルールを指定することで、ネットワーク リクエストをブロックまたは変更する場合に使用します。これにより拡張機能は、リクエストをインターセプトしてコンテンツを閲覧することなく、ネットワーク リクエストを変更できるため、プライバシーが強化されます。 - desktopCapture
-
Desktop Capture API は、画面、個々のウィンドウ、個々のタブのコンテンツをキャプチャします。
- devtools.inspectedWindow
-
chrome.devtools.inspectedWindow
API を使用して、検査対象のウィンドウを操作します。検査対象のページのタブ ID を取得したり、検査対象のウィンドウのコンテキストでコードを評価したり、ページを再読み込みしたり、ページ内のリソースのリストを取得したりできます。 - devtools.network
-
chrome.devtools.network
API を使用して、デベロッパー ツールの [Network] パネルに表示されるネットワーク リクエストに関する情報を取得します。 - devtools.panels
-
chrome.devtools.panels
API を使用して、拡張機能をデベロッパー ツール ウィンドウの UI に統合します。独自のパネルを作成したり、既存のパネルにアクセスしたり、サイドバーを追加したりできます。 - devtools.performance
-
Chrome 129 以降
chrome.devtools.performance
API を使用して、DevTools の [パフォーマンス] パネルで記録ステータスの更新をリッスンします。 - devtools.recorder
-
Chrome 105 以降
chrome.devtools.recorder
API を使用して、DevTools の [Recorder] パネルをカスタマイズします。 - dns
-
Dev チャンネル
DNS 解決に
chrome.dns
API を使用します。 - documentScan
-
Chrome 44 以降 ChromeOS のみ
chrome.documentScan
API を使用すると、接続されたドキュメント スキャナから画像を検出して取得できます。 - ドーム
-
Chrome 88 以降
chrome.dom
API を使用して拡張機能の特別な DOM API にアクセスする - ダウンロード
-
chrome.downloads
API を使用すると、プログラムでダウンロードの開始、監視、操作、検索ができます。 - enterprise.deviceAttributes
-
デバイスの属性を読み取るには、
chrome.enterprise.deviceAttributes
API を使用します。注: この API は、企業ポリシーによって自動インストールされた拡張機能からのみ利用できます。 - enterprise.hardwarePlatform
-
Chrome 71 以降 <ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> ポリシーが必要
chrome.enterprise.hardwarePlatform
API を使用して、ブラウザが実行されているハードウェア プラットフォームのメーカーとモデルを取得します。注: この API は、企業ポリシーによってインストールされた拡張機能でのみ使用できます。 - enterprise.networkingAttributes
-
chrome.enterprise.networkingAttributes
API を使用して、現在のネットワークに関する情報を読み取ります。注: この API は、企業ポリシーによって自動インストールされた拡張機能でのみ利用できます。 - enterprise.platformKeys
-
ChromeOS のみ ポリシーが必要
chrome.enterprise.platformKeys
API を使用して鍵を生成し、その鍵の証明書をインストールします。証明書はプラットフォームで管理され、TLS 認証、ネットワーク アクセス、または chrome.platformKeys を介したその他の拡張機能で使用できます。 - イベント
-
chrome.events
名前空間には、興味深いことが起きたときに通知するためにイベントをディスパッチする API で使用される一般的なタイプが含まれています。 - 拡張機能
-
chrome.extension
API には、任意の拡張機能ページで使用できるユーティリティがあります。これには、メッセージ パススルーで詳しく説明されているように、拡張機能とそのコンテンツ スクリプト間、または拡張機能間でのメッセージ交換がサポートされています。 - extensionTypes
-
chrome.extensionTypes
API には Chrome 拡張機能の型宣言が含まれています。 - fileBrowserHandler
-
ChromeOS のみ フォアグラウンドのみ
chrome.fileBrowserHandler
API を使用して、ChromeOS ファイル ブラウザを拡張します。たとえば、この API を使用して、ユーザーがウェブサイトにファイルをアップロードできるようにすることができます。 - fileSystemProvider
-
ChromeOS のみ
chrome.fileSystemProvider
API を使用してファイル システムを作成し、ChromeOS のファイル マネージャーからこのシステムにアクセスできるようにします。 - fontSettings
-
chrome.fontSettings
API を使用して Chrome のフォント設定を管理します。 - gcm
-
chrome.gcm
を使用すると、アプリと拡張機能が Firebase Cloud Messaging(FCM)を介してメッセージを送受信できるようになります。 - 履歴
-
chrome.history
API を使用して、アクセスしたページのブラウザの記録を操作します。ブラウザの履歴では、URL の追加、削除、照会を行うことができます。履歴ページを独自のバージョンでオーバーライドするには、ページをオーバーライドするをご覧ください。 - 多言語対応
-
アプリまたは拡張機能全体に国際化を実装するには、
chrome.i18n
インフラストラクチャを使用します。 - ID
-
chrome.identity
API を使用して OAuth2 アクセス トークンを取得します。 - idle
-
chrome.idle
API を使用して、マシンのアイドル状態が変化したときに検出します。 - input.ime
-
<ph type="x-smartling-placeholder"></ph> ChromeOS のみ
chrome.input.ime
API を使用して、ChromeOS 用のカスタム IME を実装します。これにより、拡張機能はキー入力を処理し、コンポーズを設定し、候補ウィンドウを管理できます。 - instanceID
-
Chrome 44 以降
chrome.instanceID
を使用してインスタンス ID サービスにアクセスします。 - loginState
-
Chrome 78 以降 ChromeOS のみ
chrome.loginState
API を使用して、ログイン状態を読み取り、モニタリングします。 - 管理
-
chrome.management
API を使用すると、インストールされているアプリと拡張機能を管理できます。 - notifications
-
chrome.notifications
API を使用すると、テンプレートを使用してリッチ通知を作成し、システムトレイにその通知を表示できます。 - 画面外
-
Chrome 109 以降 MV3 以降
offscreen
API を使用して、画面外ドキュメントを作成、管理します。 - omnibox
-
アドレスバー API を使用すると、Google Chrome のアドレスバーにキーワードを登録できます。アドレスバーはアドレスバーとも呼ばれます。
- pageCapture
-
chrome.pageCapture
API を使用して、タブを MHTML として保存します。 - 権限
-
chrome.permissions
API を使用して、宣言された省略可能な権限をインストール時ではなく実行時にリクエストします。これにより、ユーザーは権限が必要な理由を理解し、必要な権限のみを付与できます。 - platformKeys
-
Chrome 45 以降 ChromeOS のみ
chrome.platformKeys
API を使用して、プラットフォームで管理されるクライアント証明書にアクセスします。ユーザーまたはポリシーが権限を付与した場合、拡張機能はその証明書をカスタム認証プロトコルで使用できます。たとえば、プラットフォームで管理される証明書をサードパーティの VPN で使用できるようになります(chrome.vpnProvider を参照)。 - 電力
-
chrome.power
API を使用して、システムの電源管理機能をオーバーライドします。 - printerProvider
-
Chrome 44 以降
chrome.printerProvider
API でプリント マネージャーのイベントを使用して、拡張機能の制御下にあるプリンタとその機能を問い合わせたり、それらのプリンタに印刷ジョブを送信したりできます。 - 印刷
-
Chrome 81 以降 ChromeOS のみ
chrome.printing
API を使用して、Chromebook にインストールされたプリンタに印刷ジョブを送信します。 - printingMetrics
-
chrome.printingMetrics
API を使用して、印刷の使用状況に関するデータを取得します。 - プライバシー
-
chrome.privacy
API を使用して、ユーザーのプライバシーに影響する可能性がある Chrome の機能の使用を管理します。この API は、Chrome の構成を取得および設定するために、API タイプの ChromeSetting プロトタイプを使用します。 - プロセス
-
Dev チャンネル
chrome.processes
API を使用してブラウザのプロセスとやり取りします。 - プロキシ
-
chrome.proxy
API を使用して Chrome のプロキシ設定を管理します。この API は、API タイプの ChromeSetting プロトタイプを利用してプロキシ構成を取得、設定します。 - readingList
-
Chrome 120 以降 MV3 以降
chrome.readingList
API を使用して、リーディング リストのアイテムを読み取り、変更します。 - ランタイム
-
chrome.runtime
API を使用して、サービス ワーカーを取得し、マニフェストの詳細を返します。また、拡張機能のライフサイクルでイベントをリッスンして応答します。この API を使用して、URL の相対パスを完全修飾 URL に変換することもできます。 - スクリプト
-
Chrome 88 以降 MV3 以降
chrome.scripting
API を使用して、さまざまなコンテキストでスクリプトを実行します。 - search
-
Chrome 87 以降
chrome.search
API を使用して、デフォルトのプロバイダで検索します。 - セッション
-
ブラウジング セッションのタブとウィンドウをクエリして復元するには、
chrome.sessions
API を使用します。 - sidePanel
-
Chrome 114 以降 MV3 以降
chrome.sidePanel
API を使用して、ウェブページのメイン コンテンツとともにブラウザのサイドパネルにコンテンツをホストします。 - storage
-
chrome.storage
API を使用して、ユーザーデータの変更を保存、取得、追跡します。 - system.cpu
-
system.cpu
API を使用して CPU メタデータをクエリします。 - system.display
-
system.display
API を使用してディスプレイのメタデータをクエリします。 - system.memory
-
chrome.system.memory
API。 - system.storage
-
chrome.system.storage
API を使用してストレージ デバイスの情報をクエリし、取り外し可能なストレージ デバイスが接続または切断されたときに通知します。 - systemLog
-
chrome.systemLog
API を使用して、拡張機能から Chrome システムログを記録します。 - tabCapture
-
chrome.tabCapture
API を使用してタブのメディア ストリームを操作します。 - tabGroups
-
Chrome 89 以降 MV3 以降
chrome.tabGroups
API を使用して、ブラウザのタブ グループ化システムを操作します。この API を使用すると、ブラウザのタブグループを変更、並べ替えることができます。タブのグループ化やグループ化解除、またはグループ内のタブのクエリを行うには、chrome.tabs
API を使用します。 - タブ
-
chrome.tabs
API を使用して、ブラウザのタブシステムを操作します。この API を使用すると、ブラウザのタブの作成、変更、並べ替えを行うことができます。 - topSites
-
chrome.topSites
API を使用して、新しいタブページに表示される上位のサイト(よくアクセスするサイト)にアクセスします。ユーザーがカスタマイズしたショートカットは含まれません。 - TTS
-
chrome.tts
API を使用して、合成テキスト読み上げ(TTS)を再生します。関連するttsEngine
API もご覧ください。この API を使用すると、拡張機能で音声エンジンを実装できます。 - ttsEngine
-
chrome.ttsEngine
API を使用して、拡張機能を使用してテキスト読み上げ(TTS)エンジンを実装します。拡張機能がこの API を使用して登録されている場合、拡張機能または Chrome アプリがtts
API を使用して音声を生成すると、発話される音声とその他のパラメータを含むイベントが拡張機能に届きます。拡張機能は、利用可能なウェブ技術を使用して音声を合成して出力し、呼び出し元の関数にイベントを送り返してステータスを報告できます。 - types
-
chrome.types
API には Chrome 用の型宣言が含まれています。 - userScripts
-
Chrome 120 以降 MV3 以降
userScripts
API を使用して、ユーザー スクリプトのコンテキストでユーザー スクリプトを実行します。 - vpnProvider
-
Chrome 43 以降 ChromeOS のみ
chrome.vpnProvider
API を使用して VPN クライアントを実装します。 - 壁紙
-
Chrome 43 以降 ChromeOS のみ
ChromeOS の壁紙を変更するには
chrome.wallpaper
API を使用します。 - webAuthenticationProxy
-
Chrome 115 以降 MV3 以降
chrome.webAuthenticationProxy
API を使用すると、リモート ホストで実行されているリモート デスクトップ ソフトウェアが Web Authentication API(WebAuthn)リクエストをインターセプトして、ローカル クライアントでこれらのリクエストを処理できるようになります。 - webNavigation
-
chrome.webNavigation
API を使用して、処理中のナビゲーション リクエストのステータスに関する通知を受け取ります。 - webRequest
-
chrome.webRequest
API を使用して、トラフィックをモニタリングして分析し、送信中のリクエストをインターセプト、ブロック、変更します。 - windows
-
chrome.windows
API を使用してブラウザ ウィンドウを操作します。この API を使用すると、ブラウザのウィンドウの作成、変更、並べ替えを行うことができます。