API リファレンス

ほとんどの拡張機能は、1 つ以上の Chrome 拡張機能 API へのアクセスを必要とします。この API リファレンスでは、拡張機能で使用できる API について説明し、ユースケースの例を紹介します。

拡張機能 API の一般的な機能

拡張機能 API は、拡張機能を実行するためのメソッドとプロパティを含む名前空間から構成され、通常は(常にではありませんが)manifest.json ファイルのマニフェスト フィールドがあります。たとえば、chrome.action Namespace では、マニフェストに "action" オブジェクトが必要です。多くの API では、マニフェスト内での権限も必要です。

特に明記されていない限り、拡張機能 API のメソッドは非同期です。非同期メソッドは、そのメソッドを呼び出すオペレーションの完了を待たずに、すぐに戻ります。これらのメソッドの結果を取得するには、Promise を使用します。詳細については、非同期メソッドをご覧ください。

Chrome Extension API

accessibilityFeatures

chrome.accessibilityFeatures API を使用して、Chrome のユーザー補助機能を管理します。この API は、タイプ API の ChromeSetting プロトタイプを使用して、個々のユーザー補助機能を取得および設定します。拡張機能で機能の状態を取得するには、accessibilityFeatures.read 権限をリクエストする必要があります。拡張機能で機能の状態を変更するには、accessibilityFeatures.modify 権限が必要です。なお、accessibilityFeatures.modifyaccessibilityFeatures.read 権限を暗黙的に示唆するものではありません。

操作
Chrome 88 以降 MV3 以降

chrome.action API を使用すると、Google Chrome ツールバーの拡張機能のアイコンを制御できます。

アラーム

chrome.alarms API を使用して、定期的に、または将来の指定された時刻にコードを実行するようにスケジュールします。

音声
Chrome 59 以降 ChromeOS のみ

chrome.audio API は、システムにアタッチされているオーディオ デバイスに関する情報の取得と制御を可能にするために提供されています。現在、この API は ChromeOS のキオスクモードでのみ使用できます。

ブックマーク

chrome.bookmarks API を使用して、ブックマークの作成、整理、その他の操作を行います。また、カスタムのブックマーク マネージャ ページを作成できるページをオーバーライドするもご覧ください。

browsingData

chrome.browsingData API を使用して、ユーザーのローカル プロファイルから閲覧データを削除します。

certificateProvider
Chrome 46 以降 ChromeOS のみ

この API を使用して、TLS 認証にこれらの証明書を使用できるプラットフォームに証明書を公開します。

コマンド

コマンド API を使用すると、ブラウザ アクションを開くアクションや拡張機能にコマンドを送信するアクションなど、拡張機能でアクションをトリガーするキーボード ショートカットを追加できます。

contentSettings

chrome.contentSettings API を使用すると、ウェブサイトによる Cookie、JavaScript、プラグインなどの機能の使用を許可するかどうかを設定できます。一般的に、コンテンツ設定を使用すると、Chrome の動作をグローバルではなくサイトごとにカスタマイズできます。

contextMenus

Google Chrome のコンテキスト メニューにアイテムを追加するには、chrome.contextMenus API を使用します。画像、ハイパーリンク、ページなど、コンテキスト メニューに追加するオブジェクトの種類を選択できます。

Cookie

chrome.cookies API を使用して、Cookie のクエリと変更を行い、変更があったときに通知を受け取るようにします。

debugger

chrome.debugger API は、Chrome のリモート デバッグ プロトコルの代替トランスポートとして機能します。chrome.debugger を使用して 1 つ以上のタブにアタッチし、ネットワーク インタラクションの測定、JavaScript のデバッグ、DOM や CSS の変更などを行います。デバッグ対象の 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

デベロッパー ツールによって [Network] パネルに表示されるネットワーク リクエストに関する情報を取得するには、chrome.devtools.network API を使用します。

devtools.panels

chrome.devtools.panels API を使用して、デベロッパー ツール ウィンドウの UI に拡張機能を統合できます。独自のパネルの作成、既存のパネルへのアクセス、サイドバーの追加が可能です。

devtools.recorder
Chrome 105 以降

chrome.devtools.recorder API を使用して、DevTools の [Recorder] パネルをカスタマイズします。

dns
Dev チャンネル

DNS 解決には chrome.dns API を使用します。

documentScan
Chrome 44 以降 ChromeOS のみ

chrome.documentScan API を使用して、接続されているドキュメント スキャナから画像を検出し、取得します。

dom
Chrome 88 以降

chrome.dom API を使用して拡張機能用の特別な DOM API にアクセスする

ダウンロード

chrome.downloads API を使用して、ダウンロードをプログラムで開始、モニタリング、操作、検索します。

enterprise.deviceAttributes
Chrome 46 以降 ChromeOS のみ ポリシーが必要

chrome.enterprise.deviceAttributes API を使用して、デバイス属性を読み取ります。注: この API は、企業のポリシーによって自動インストールされた拡張機能でのみ使用できます。

enterprise.hardwarePlatform
Chrome 71 以降 ポリシーが必要

chrome.enterprise.hardwarePlatform API を使用して、ブラウザが実行されているハードウェア プラットフォームのメーカーとモデルを取得します。注: この API は、企業ポリシーによってインストールされた拡張機能でのみ使用できます。

enterprise.networkingAttributes
Chrome 85 以降 ChromeOS のみ ポリシーが必要

chrome.enterprise.networkingAttributes API を使用して、現在のネットワークに関する情報を読み取ります。注: この API は、企業のポリシーによって自動インストールされた拡張機能でのみ使用できます。

enterprise.platformKeys
ChromeOS のみ ポリシーが必要

chrome.enterprise.platformKeys API を使用して鍵を生成し、その鍵に証明書をインストールします。証明書はプラットフォームによって管理され、TLS 認証、ネットワーク アクセス、{@link platformKeys 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 アクセス トークンを取得します。

アイドル状態

chrome.idle API を使用して、マシンのアイドル状態が変化したことを検出します。

input.ime

chrome.input.ime API を使用して、Chrome OS のカスタム IME を実装します。これにより、拡張機能でキー入力の処理、構成の設定、候補ウィンドウの管理が可能になります。

instanceID
Chrome 44 以降

chrome.instanceID を使用してインスタンス ID サービスにアクセスします。

loginState
Chrome 78 以降 ChromeOS のみ

chrome.loginState API を使用して、ログイン状態の読み取りとモニタリングを行います。

管理

chrome.management API は、インストールされ実行中の拡張機能やアプリのリストを管理するための機能を提供します。これは、組み込みの新しいタブページをオーバーライドする拡張機能に特に便利です。

通知

テンプレートを使用してリッチ通知を作成するには、chrome.notifications API を使用します。作成した通知は、システムトレイにユーザーに表示されます。

画面外
Chrome 109 以降 MV3 以降

offscreen API を使用して、画面外ドキュメントを作成、管理します。

アドレスバー

アドレスバー API を使用すると、Google Chrome のアドレスバー(アドレスバーとも呼ばれます)にキーワードを登録できます。

pageCapture

タブを MHTML として保存するには、chrome.pageCapture API を使用します。

権限

chrome.permissions API を使用すると、宣言されたオプションの権限をインストール時ではなく実行時にリクエストできます。これにより、ユーザーは権限が必要な理由を理解し、必要な権限のみを付与することができます。

platformKeys
Chrome 45 以降 ChromeOS のみ

プラットフォームで管理されているクライアント証明書にアクセスするには、chrome.platformKeys API を使用します。ユーザーまたはポリシーで権限を付与されていれば、拡張機能はカスタム認証プロトコルでそのような証明書を使用できます。たとえば、サードパーティの VPN でプラットフォームが管理する証明書を使用できるようになります({@link vpnProvider chrome.vpnProvider} をご覧ください)。

電力

システムの電源管理機能をオーバーライドするには、chrome.power API を使用します。

printerProvider
Chrome 44 以降

chrome.printerProvider API は、印刷マネージャーが使用するイベントを公開して、拡張機能によって制御されるプリンタをクエリし、それらのプリンタの機能をクエリし、これらのプリンタに印刷ジョブを送信します。

印刷
Chrome 81 以降 ChromeOS のみ

chrome.printing API を使用して、Chromebook にインストールされているプリンタに印刷ジョブを送信します。

printingMetrics
Chrome 79 以降 ChromeOS のみ ポリシーが必要

chrome.printingMetrics API を使用して、印刷の使用状況に関するデータを取得します。

プライバシー

chrome.privacy API を使用すると、ユーザーのプライバシーに影響する可能性がある Chrome の機能の使用を管理できます。この API は、Chrome の設定を取得して設定するために、タイプ API の ChromeSetting プロトタイプを使用します。

プロセス
Dev チャンネル

chrome.processes API を使用して、ブラウザのプロセスとやり取りします。

プロキシ

chrome.proxy API を使用して、Chrome のプロキシ設定を管理します。この API は、プロキシ構成の取得と設定に ChromeSetting プロトタイプ タイプ API を使用します。

readingList
Chrome 120 以降 MV3 以降

chrome.readingList API を使用して、リーディング リストのアイテムを読み取り、変更する。

ランタイム

chrome.runtime API を使用して Service Worker を取得し、マニフェストに関する詳細情報を返して、拡張機能のライフサイクルでイベントをリッスンして応答します。この 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 を使用すると、ウェブページのメイン コンテンツとともにブラウザのサイドパネルでコンテンツをホストできます。

ストレージ

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
保留中 ChromeOS のみ ポリシーが必要

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)を再生します。関連する {@link ttsEngine} API もご覧ください。この API を使用すると、拡張機能で音声エンジンを実装できます。

ttsEngine

chrome.ttsEngine API を使用して、拡張機能を使用してテキスト読み上げ(TTS)エンジンを実装します。拡張機能がこの API を使用して登録すると、拡張機能または Chrome アプリが {@link 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 を使用して、ブラウザのウィンドウを作成、変更、並べ替えることができます。