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

열거형

'동기화됨'
충돌이 없고 보류 중인 로컬 변경사항이 없습니다.

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

'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 이상

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

getFileStatus()

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

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

매개변수

  • fileEntry

    항목

  • callback

    함수 선택사항

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

    (status: FileStatus) => void

반환 값

  • Promise<FileStatus>

    Chrome 117 이상

    Promise는 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 이상

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

getServiceStatus()

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

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

매개변수

  • callback

    함수 선택사항

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

    (status: ServiceStatus) => void

반환 값

  • Promise<ServiceStatus>

    Chrome 117 이상

    Promise는 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 이상

    Promise는 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 이상

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

setConflictResolutionPolicy()

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

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

매개변수

  • callback

    함수 선택사항

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

    () => void

반환 값

  • Promise<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