説明
chrome.syncFileSystem
API を使用して、Google ドライブにデータを保存して同期します。この API は、Google ドライブに保存されている任意のユーザー ドキュメントにアクセスするためのものではありません。オフラインとキャッシュに使用するためのアプリ固有の同期可能なストレージを提供するため、異なるクライアント間で同じデータを使用できます。この API の使用方法については、データを管理するをご覧ください。
権限
syncFileSystem
型
ConflictResolutionPolicy
列挙型
"last_write_win"
「manual」
FileInfo
プロパティ
-
アクション
SyncAction(省略可)
onFileStatusChanged
イベントをトリガーするために行われた同期アクション。アクションの値は、'added'
、'updated'
、'deleted'
です。ステータスが'synced'
の場合にのみ適用されます。 -
direction
SyncDirection 省略可
onFileStatusChanged
イベントの同期方向。同期方向の値は'local_to_remote'
または'remote_to_local'
です。ステータスが'synced'
の場合にのみ適用されます。 -
fileEntry
エントリ
fileEntry
は、ステータスが変更されたターゲット ファイルに置き換えます。同期されたファイルの名前とパス情報が含まれます。ファイルが削除されても、fileEntry
情報は引き続き利用できますが、ファイルは存在しなくなります。 -
status
onFileStatusChanged
イベント後のファイルのステータス。ステータス値は'synced'
、'pending'
、'conflicting'
のいずれかです。
FileStatus
列挙型
「同期済み」
競合しておらず、保留中のローカル変更がない。
「保留中」
同期されていない保留中のローカル変更が 1 つ以上あります。
「conflicting」
ファイルがリモート バージョンと競合しているため、手動で解決する必要があります。
FileStatusInfo
プロパティ
-
エラー
文字列(省略可)
指定したファイルの FileStatus の取得中に問題が発生した場合にのみ返される省略可能なエラー。
-
fileEntry
エントリ
getFileStatuses に最初に渡されたエントリの 1 つ。
-
status
ステータス値は
'synced'
、'pending'
、'conflicting'
のいずれかです。
ServiceInfo
プロパティ
-
description
文字列
-
state
ServiceStatus
列挙型
「初期化中」
同期サービスが初期化中です(データベースからのデータの復元、接続の確認、サービスへの認証など)。
「running」
同期サービスが稼働中です。
「authentication_required」
同期を続行するにはリモート サービスをユーザーが認証する必要があるため、同期サービスがファイルを同期していません。
"temporary_unavailable"
ネットワークがオフラインである、リモート サービスが停止している、リモート サービスにアクセスできないなど、回復可能なエラーが原因でリモート サービスが(一時的に)利用できないため、同期サービスがファイルを同期していません。詳細は、OnServiceInfoUpdated の description
パラメータで指定する必要があります(サービス固有の詳細が含まれる場合があります)。
「無効」
同期サービスが無効になり、コンテンツは同期されません。(たとえば、ユーザーがリモート サービスにアカウントを持っていない場合や、同期サービスで復元不可能なエラーが発生した場合などに、このエラーが発生することがあります)。
StorageInfo
プロパティ
-
quotaBytes
数値
-
usageBytes
数値
SyncAction
列挙型
「追加」アイコン
「更新済み」
「削除済み」
SyncDirection
列挙型
"local_to_remote"
"remote_to_local"
メソッド
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
)
現在の競合解決ポリシーを取得します。
パラメータ
-
callback
function 省略可
callback
パラメータは次のようになります。(policy: ConflictResolutionPolicy) => void
戻り値
-
Promise<ConflictResolutionPolicy>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
)
指定された fileEntry
の FileStatus
を返します。ステータス値は 'synced'
、'pending'
、'conflicting'
のいずれかです。'conflicting'
状態は、サービスの競合解決ポリシーが 'manual'
に設定されている場合にのみ発生します。
パラメータ
-
fileEntry
エントリ
-
callback
function 省略可
callback
パラメータは次のようになります。(status: FileStatus) => void
-
status
-
戻り値
-
Promise<FileStatus>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
)
指定された fileEntry
配列の各 FileStatus
を返します。通常は、dirReader.readEntries() の結果とともに呼び出されます。
パラメータ
-
fileEntries
object[]
-
callback
function 省略可
callback
パラメータは次のようになります。(status: FileStatusInfo[]) => void
-
status
-
戻り値
-
Promise<FileStatusInfo[]>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
)
現在の同期バックエンドのステータスを返します。
パラメータ
-
callback
function 省略可
callback
パラメータは次のようになります。(status: ServiceStatus) => void
-
status
-
戻り値
-
Promise<ServiceStatus>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
)
アプリの 'syncable'
ファイル ストレージの現在の使用量と割り当て(バイト単位)を返します。
パラメータ
-
fileSystem
DOMFileSystem
-
callback
function 省略可
callback
パラメータは次のようになります。(info: StorageInfo) => void
-
情報
-
戻り値
-
Promise<StorageInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
)
Google ドライブを基盤とする同期可能なファイル システムを返します。返された DOMFileSystem
インスタンスは、一時ファイル システムや永続ファイル システムと同じ方法で操作できます(http://dev.w3.org/2009/dap/file-system/file-dir-sys.html をご覧ください)。
同じアプリからこの関数を複数回呼び出すと、同じファイル システムへの同じハンドルが返されます。
この呼び出しは失敗する可能性があります。たとえば、ユーザーが Chrome にログインしていない場合や、ネットワーク オペレーションがない場合などです。これらのエラーを処理するには、コールバックで chrome.runtime.lastError を確認することが重要です。
パラメータ
-
callback
function 省略可
callback
パラメータは次のようになります。(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
戻り値
-
Promise<DOMFileSystem>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
)
アプリの 'syncable'
ファイル ストレージのデフォルトの競合解決ポリシーを設定します。デフォルトでは 'last_write_win'
に設定されています。競合解決ポリシーが 'last_write_win'
に設定されている場合、既存のファイルの競合は、次回ファイルが更新されたときに自動的に解決されます。callback
は、リクエストが成功したかどうかを確認するために任意で指定できます。
パラメータ
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
イベント
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
バックグラウンド同期サービスによってファイルが更新されたときに呼び出されます。
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
同期バックエンドでエラーやその他のステータス変更が発生したときにトリガーされます(ネットワーク エラーや認証エラーが原因で同期が一時的に無効になった場合など)。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(detail: ServiceInfo) => void
-
詳細
-