API リファレンス

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

Extensions API の一般的な機能

拡張機能 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.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 認証にこれらの証明書を使用できます。

コマンド

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

contentSettings

ウェブサイトが Cookie、JavaScript、プラグインなどの機能を使用できるかどうかを制御する設定を変更するには、chrome.contentSettings API を使用します。大まかに言うと、コンテンツ設定では、Chrome の動作をグローバルではなくサイト単位でカスタマイズできます。

contextMenus

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

Cookie

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

debugger

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

デベロッパー ツールの [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 認証、ネットワーク アクセス、または 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
ChromeOS のみ

chrome.input.ime API を使用して、ChromeOS のカスタム 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

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 79 以降 ChromeOS のみ ポリシーが必要

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 を使用して、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
Chrome 125 以降 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)を再生します。関連する 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 を使用して、トラフィックをモニタリングおよび分析し、処理中のリクエストをインターセプト、ブロック、変更します。

chrome.windows API を使用してブラウザ ウィンドウを操作します。この API を使用すると、ブラウザのウィンドウの作成、変更、並べ替えを行うことができます。