API リファレンス

ほとんどの拡張機能は、機能するために 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.modifyaccessibilityFeatures.read 権限を意味するものではありません。

操作
Chrome 88 以降 MV3 以降

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

alarms

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

audio
Chrome 59 以降 ChromeOS のみ

chrome.audio API は、ユーザーがシステムに接続されているオーディオ デバイスに関する情報を取得し、制御できるようにするために提供されています。この API は現在、ChromeOS のキオスクモードでのみ使用できます。

ブックマーク

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

browsingData

chrome.browsingData API を使用して、ユーザーのローカル プロファイルからブラウジング データを削除します。

certificateProvider
Chrome 46 以降 ChromeOS のみ

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

コマンド

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

contentSettings

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

contextMenus

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

Cookie

chrome.cookies API を使用して、Cookie のクエリと変更を行い、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 の [Performance] パネルで録画ステータスの更新をリッスンします。

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

chrome.enterprise.login API を使用して管理対象ゲスト セッションを終了します。注: この API は、ChromeOS 管理対象ゲスト セッションでエンタープライズ ポリシーによってインストールされた拡張機能でのみ利用できます。

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

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

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

chrome.enterprise.platformKeys API を使用して鍵を生成し、その鍵の証明書をインストールします。この証明書はプラットフォームで管理され、TLS 認証やネットワーク アクセスに、または chrome.platformKeys を介して他の拡張機能で使用できます。

イベント

chrome.events 名前空間には、興味深いイベントが発生したときに通知するために API がイベントをディスパッチする際に使用する一般的なタイプが含まれています。

extension

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 の追加、削除、クエリを行うことができます。履歴ページを独自のバージョンでオーバーライドするには、ページをオーバーライドするをご覧ください。

i18n

chrome.i18n インフラストラクチャを使用して、アプリまたは拡張機能全体に国際化を実装します。

identity

chrome.identity API を使用して OAuth2 アクセス トークンを取得します。

idle

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 を使用してテンプレートを使用してリッチ通知を作成し、システムトレイでユーザーに通知を表示します。

offscreen
Chrome 109 以降 MV3 以降

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

omnibox

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

pageCapture

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

権限

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

platformKeys
Chrome 45 以降 ChromeOS のみ

chrome.platformKeys API を使用して、プラットフォームで管理されるクライアント証明書にアクセスします。ユーザーまたはポリシーが許可した場合、拡張機能はカスタム認証プロトコルでこのような証明書を使用できます。たとえば、プラットフォームで管理される証明書をサードパーティの VPN で使用できるようになります(chrome.vpnProvider を参照)。

power

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 プロトタイプを使用します。

プロセス
デベロッパー チャンネル

chrome.processes API を使用して、ブラウザのプロセスを操作します。

プロキシ

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

readingList
Chrome 120 以降 MV3 以降

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

runtime

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 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 もご覧ください。

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 のみ

chrome.wallpaper API を使用して ChromeOS の壁紙を変更します。

webAuthenticationProxy
Chrome 115 以降 MV3 以降

chrome.webAuthenticationProxy API を使用すると、リモートホストで実行されているリモート デスクトップ ソフトウェアが Web Authentication API(WebAuthn)リクエストをインターセプトして、ローカル クライアントで処理できます。

webNavigation

chrome.webNavigation API を使用して、処理中のナビゲーション リクエストのステータスに関する通知を受け取ります。

webRequest

chrome.webRequest API を使用して、トラフィックをモニタリングして分析し、送信中のリクエストをインターセプト、ブロック、変更します。

windows

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