chrome.syncFileSystem

설명

chrome.syncFileSystem API를 사용하여 Google Drive에 데이터를 저장하고 동기화합니다. 이 API는 Google Drive에 저장된 임의의 사용자 문서에 액세스하는 데 사용되지 않습니다. 오프라인 및 캐싱 사용을 위해 앱별로 동기화 가능한 스토리지를 제공하므로 여러 클라이언트에서 동일한 데이터를 사용할 수 있습니다. 이 API 사용에 관한 자세한 내용은 데이터 관리를 참고하세요.

권한

syncFileSystem

유형

ConflictResolutionPolicy

열거형

"last_write_win"

"manual"

FileInfo

속성

  • action

    SyncAction 선택사항

    onFileStatusChanged 이벤트를 실행하기 위해 동기화 작업이 실행되었습니다. 작업 값은 'added', 'updated' 또는 'deleted'일 수 있습니다. 'synced' 상태인 경우에만 적용됩니다.

  • direction

    SyncDirection 선택사항

    onFileStatusChanged 이벤트의 동기화 방향입니다. 동기화 방향 값은 'local_to_remote' 또는 'remote_to_local'일 수 있습니다. 'synced' 상태인 경우에만 적용됩니다.

  • fileEntry

    항목

    상태가 변경된 대상 파일의 fileEntry입니다. 동기화된 파일의 이름 및 경로 정보가 포함됩니다. 파일을 삭제해도 fileEntry 정보는 계속 사용할 수 있지만 파일은 더 이상 존재하지 않습니다.

  • 상태

    onFileStatusChanged 이벤트 후의 결과 파일 상태입니다. 상태 값은 'synced', 'pending' 또는 'conflicting'일 수 있습니다.

FileStatus

열거형

'synced'
충돌하지 않으며 대기 중인 로컬 변경사항이 없습니다.

'pending'
동기화되지 않은 대기 중인 로컬 변경사항이 하나 이상 있습니다.

'conflicting'
파일이 원격 버전과 충돌하며 수동으로 해결해야 합니다.

FileStatusInfo

속성

  • 오류

    문자열 선택사항

    지정된 파일의 FileStatus를 가져오는 중에 문제가 발생한 경우에만 반환되는 선택적 오류입니다.

  • fileEntry

    항목

    getFileStatuses에 원래 제공된 항목 중 하나입니다.

  • 상태

    상태 값은 'synced', 'pending' 또는 'conflicting'일 수 있습니다.

ServiceInfo

속성

ServiceStatus

열거형

'initializing'
동기화 서비스가 초기화 중입니다 (예: 데이터베이스에서 데이터 복원, 연결 확인, 서비스 인증 등).

'running'
동기화 서비스가 실행 중입니다.

'authentication_required'
계속하려면 사용자가 원격 서비스를 인증해야 하므로 동기화 서비스에서 파일을 동기화하지 않습니다.

'temporary_unavailable'
복구 가능한 오류로 인해 원격 서비스를 (일시적으로) 사용할 수 없어 동기화 서비스가 파일을 동기화하지 않습니다(예: 네트워크가 오프라인 상태이거나 원격 서비스가 다운되었거나 연결할 수 없음). OnServiceInfoUpdated의 description 매개변수에서 자세한 내용을 제공해야 합니다(서비스별 세부정보가 포함될 수 있음).

'disabled'
동기화 서비스가 사용 중지되어 콘텐츠가 동기화되지 않습니다. (예: 사용자가 원격 서비스에 계정이 없거나 동기화 서비스에 복구 불가 오류가 발생한 경우에 발생할 수 있습니다.)

StorageInfo

속성

  • quotaBytes

    숫자

  • usageBytes

    숫자

SyncAction

열거형

"added"

"updated"

"deleted"

SyncDirection

열거형

"local_to_remote"

"remote_to_local"

메서드

getConflictResolutionPolicy()

Promise
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)
: Promise<ConflictResolutionPolicy>

현재 충돌 해결 정책을 가져옵니다.

매개변수

반환 값

  • Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getFileStatus()

Promise
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)
: Promise<FileStatus>

지정된 fileEntry의 FileStatus를 반환합니다. 상태 값은 'synced', 'pending' 또는 'conflicting'일 수 있습니다. 'conflicting' 상태는 서비스의 충돌 해결 정책이 'manual'로 설정된 경우에만 발생합니다.

매개변수

  • fileEntry

    항목

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (status: FileStatus) => void

반환 값

  • Promise<FileStatus>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getFileStatuses()

Promise
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)
: Promise<FileStatusInfo[]>

지정된 fileEntry 배열의 각 FileStatus를 반환합니다. 일반적으로 dirReader.readEntries()의 결과와 함께 호출됩니다.

매개변수

  • fileEntries

    object[]

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (status: FileStatusInfo[]) => void

반환 값

  • Promise<FileStatusInfo[]>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getServiceStatus()

Promise
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

현재 동기화 백엔드 상태를 반환합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (status: ServiceStatus) => void

반환 값

  • Promise<ServiceStatus>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getUsageAndQuota()

Promise
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

앱의 'syncable' 파일 저장소에 대한 현재 사용량과 할당량을 바이트 단위로 반환합니다.

매개변수

  • fileSystem

    DOMFileSystem

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (info: StorageInfo) => void

반환 값

  • Promise<StorageInfo>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

requestFileSystem()

Promise
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)
: Promise<DOMFileSystem>

Google Drive에서 지원하는 동기화 가능한 파일 시스템을 반환합니다. 반환된 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<DOMFileSystem>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

setConflictResolutionPolicy()

Promise
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)
: Promise<void>

앱의 'syncable' 파일 저장소에 대한 기본 충돌 해결 정책을 설정합니다. 기본적으로 'last_write_win'로 설정됩니다. 충돌 해결 정책이 'last_write_win'(으)로 설정된 경우 다음에 파일이 업데이트될 때 기존 파일의 충돌이 자동으로 해결됩니다. callback는 요청의 성공 여부를 알기 위해 선택적으로 제공될 수 있습니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • 약속<void>

    Chrome 117 이상

    프로미스는 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