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 を使用して、コードを定期的に、または将来の指定した時刻に実行するようにスケジュールします。

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

デバイスの属性を読み取るには、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 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 アクセス トークンを取得します。

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 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 を使用して、サービス ワーカーを取得し、マニフェストの詳細を返します。また、拡張機能のライフサイクルでイベントをリッスンして応答します。この 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 もご覧ください。この 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 を使用すると、ブラウザのウィンドウの作成、変更、並べ替えを行うことができます。