chrome.syncFileSystem

説明

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

列挙型

"synced"
競合しておらず、保留中のローカル変更はありません。

"pending"
同期されていない保留中のローカル変更が 1 つ以上あります。

"Conflicting"
ファイルがリモート バージョンと競合しているため、手動で解決する必要があります。

FileStatusInfo

プロパティ

  • エラー

    文字列(省略可)

    指定されたファイルの FileStatus の取得中に問題が発生した場合にのみ返されるエラー(省略可)。

  • fileEntry

    エントリ

    getFileStatuses に最初に指定されたエントリの 1 つ。

  • status

    ステータス値は、'synced''pending''conflicting' のいずれかです。

ServiceInfo

プロパティ

ServiceStatus

列挙型

"initializing"
同期サービスが初期化されています(データベースからのデータの復元、接続の確認、サービスへの認証など)。

"running"
同期サービスは稼働中です。

"authentication_required"
同期サービスはファイルを同期していません。続行するには、ユーザーがリモート サービスを認証する必要があるためです。

"temporary_unavailable"
同期サービスはファイルを同期していません。これは、復元可能なエラー(例:ネットワークがオフラインである、リモート サービスがダウンしている、アクセスできないなど。詳細は、OnServiceInfoUpdated の description パラメータで提供されます(サービス固有の詳細が含まれている場合があります)。

"disabled"
同期サービスが無効になり、コンテンツは同期されません。(ユーザーがリモート サービスのアカウントを持っていない場合や、同期サービスに回復不能なエラーが発生した場合など)。

StorageInfo

プロパティ

  • quotaBytes

    数値

  • usageBytes

    数値

SyncAction

列挙型

「追加」

"updated"

"deleted"

SyncDirection

列挙型

"local_to_remote"

"remote_to_local"

メソッド

getConflictResolutionPolicy()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

現在の競合解決ポリシーを取得します。

パラメータ

戻り値

  • Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getFileStatus()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

指定された fileEntryFileStatus を返します。ステータス値は、'synced''pending''conflicting' のいずれかです。'conflicting' 状態は、サービスの競合解決ポリシーが 'manual' に設定されている場合にのみ発生します。

パラメータ

  • fileEntry

    エントリ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (status: FileStatus) => void

戻り値

  • Promise&lt;FileStatus&gt;

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getFileStatuses()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)

指定された fileEntry 配列の各 FileStatus を返します。通常、dirReader.readEntries() からの結果によって呼び出されます。

パラメータ

  • fileEntries

    object[]

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (status: FileStatusInfo[]) => void

戻り値

  • Promise&lt;FileStatusInfo[]&gt;

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getServiceStatus()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

現在の同期バックエンドのステータスを返します。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (status: ServiceStatus) => void

戻り値

  • Promise&lt;ServiceStatus&gt;

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getUsageAndQuota()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)

アプリの 'syncable' ファイル ストレージの現在の使用量と割り当てをバイト単位で返します。

パラメータ

  • fileSystem

    DOMFileSystem

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (info: StorageInfo) => void

戻り値

  • Promise&lt;StorageInfo&gt;

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

requestFileSystem()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)

Google ドライブを基盤とする同期可能なファイル システムを返します。返された DOMFileSystem インスタンスは、一時ファイルや永続ファイル システムと同じ方法で操作できます(http://dev.w3.org/2009/dap/file-system/file-dir-sys.html をご覧ください)。

同じアプリから複数回呼び出すと、同じファイル システムに同じハンドルが返されます。

この呼び出しは失敗する可能性があります。たとえば、ユーザーが Chrome にログインしていない場合や、ネットワーク処理を行っていない場合などです。これらのエラーを処理するには、コールバックで chrome.runtime.lastError をチェックすることが重要です。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

戻り値

  • Promise&lt;DOMFileSystem&gt;

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

setConflictResolutionPolicy()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

アプリの 'syncable' ファイル ストレージのデフォルトの競合解決ポリシーを設定します。デフォルトでは 'last_write_win' に設定されています。競合解決ポリシーを 'last_write_win' に設定した場合、既存ファイルの競合は次回ファイルが更新されたときに自動的に解決されます。必要に応じて callback を指定すると、リクエストが成功したかどうかを知ることができます。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

イベント

onFileStatusChanged

chrome.syncFileSystem.onFileStatusChanged.addListener(
  callback: function,
)

バックグラウンド同期サービスによってファイルが更新されたときに呼び出されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (detail: FileInfo) => void

onServiceStatusChanged

chrome.syncFileSystem.onServiceStatusChanged.addListener(
  callback: function,
)

同期バックエンドでエラーやその他のステータス変更が発生したとき(ネットワーク エラーや認証エラーによって同期が一時的に無効になった場合など)に呼び出されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (detail: ServiceInfo) => void