chrome.syncFileSystem

설명

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

권한

syncFileSystem

유형

ConflictResolutionPolicy

열거형

"last_write_win"

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"
동기화되지 않은 대기 중인 로컬 변경사항이 하나 이상 있습니다.

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

FileStatusInfo

속성

  • error

    문자열 선택사항

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

  • fileEntry

    항목

    원래 getFileStatuses에 제공된 Entry의 하나입니다.

  • status

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

ServiceInfo

속성

ServiceStatus

열거형

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

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

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

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

"사용 중지됨"
동기화 서비스가 사용 중지되며 콘텐츠가 동기화되지 않습니다. 예를 들어 사용자에게 원격 서비스에 계정이 없거나 동기화 서비스에 복구할 수 없는 오류가 발생한 경우 이러한 상황이 발생할 수 있습니다.

StorageInfo

속성

  • quotaBytes

    숫자

  • usageBytes

    숫자

SyncAction

열거형

SyncDirection

열거형

"remote_to_local"

방법

getConflictResolutionPolicy()

프로미스
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

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

매개변수

반환 값

  • Chrome 117 이상

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

getFileStatus()

프로미스
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

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

매개변수

  • fileEntry

    항목

  • 콜백

    함수 선택사항

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

    (status: FileStatus)=>void

반환 값

  • Promise<FileStatus>

    Chrome 117 이상

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

getFileStatuses()

프로미스
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)

지정된 fileEntry 배열의 각 FileStatus을 반환합니다. 일반적으로 dirReader.readEntries()의 결과를 사용하여 호출됩니다.

매개변수

  • fileEntries

    객체[]

  • 콜백

    함수 선택사항

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

    (status: FileStatusInfo[])=>void

반환 값

  • Promise<FileStatusInfo[]>

    Chrome 117 이상

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

getServiceStatus()

프로미스
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

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

매개변수

반환 값

  • Promise<ServiceStatus>

    Chrome 117 이상

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

getUsageAndQuota()

프로미스
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)

앱의 'syncable' 파일 스토리지의 현재 사용량 및 할당량을 바이트 단위로 반환합니다.

매개변수

  • fileSystem

    DOMFileSystem

  • 콜백

    함수 선택사항

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

    (info: StorageInfo)=>void

반환 값

  • Promise<StorageInfo>

    Chrome 117 이상

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

requestFileSystem()

프로미스
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)

Google Drive에서 지원하는 동기화 가능한 파일 시스템을 반환합니다. 반환된 DOMFileSystem 인스턴스는 임시 및 지속성 파일 시스템과 동일한 방식으로 작동할 수 있습니다 (http://dev.w3.org/2009/dap/file-system/file-dir-sys.html 참고).

동일한 앱에서 이 메서드를 여러 번 호출하면 동일한 파일 시스템에 동일한 핸들이 반환됩니다.

이 호출은 실패할 수 있습니다. 예를 들어 사용자가 Chrome에 로그인하지 않았거나 네트워크 작업이 없는 경우입니다. 이러한 오류를 처리하려면 콜백에서 chrome.runtime.lastError를 확인하는 것이 중요합니다.

매개변수

  • 콜백

    함수 선택사항

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

    (fileSystem: DOMFileSystem)=>void

    • fileSystem

      DOMFileSystem

반환 값

  • Promise<DOMFileSystem>

    Chrome 117 이상

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

setConflictResolutionPolicy()

프로미스
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

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

매개변수

반환 값

  • Promise<void>

    Chrome 117 이상

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

이벤트

onFileStatusChanged

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

백그라운드 동기화 서비스에 의해 파일이 업데이트되면 발생합니다.

매개변수

  • 콜백

    기능

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

    (detail: FileInfo)=>void

onServiceStatusChanged

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

동기화 백엔드에서 오류 또는 기타 상태 변경이 발생하면 (예: 네트워크 또는 인증 오류로 인해 동기화가 일시적으로 사용 중지된 경우) 실행됩니다.

매개변수

  • 콜백

    기능

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

    (detail: ServiceInfo)=>void