설명
chrome.syncFileSystem
API를 사용하여 Google Drive에 데이터를 저장하고 동기화합니다. 이 API는 Google Drive에 저장된 임의의 사용자 문서에 액세스하기 위한 것이 아닙니다. 오프라인 및 캐싱 사용을 위해 앱별 동기화 가능한 저장소를 제공하므로 여러 클라이언트에서 동일한 데이터를 사용할 수 있습니다. 이 API 사용에 관한 자세한 내용은 데이터 관리를 참고하세요.
권한
syncFileSystem
유형
ConflictResolutionPolicy
열거형
"last_write_win"
'수동'
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
열거형
'동기화됨'
충돌하지 않으며 대기 중인 로컬 변경사항이 없습니다.
'대기 중'
동기화되지 않은 대기 중인 로컬 변경사항이 하나 이상 있습니다.
'충돌'
파일이 원격 버전과 충돌하며 수동으로 해결해야 합니다.
FileStatusInfo
속성
-
오류
문자열 선택사항
지정된 파일의 FileStatus를 가져오는 중에 문제가 발생한 경우에만 반환되는 선택적 오류입니다.
-
fileEntry
항목
getFileStatuses에 원래 제공된 항목 중 하나입니다.
-
상태
상태 값은
'synced'
,'pending'
또는'conflicting'
일 수 있습니다.
ServiceInfo
속성
-
설명
문자열
ServiceStatus
열거형
'initializing'
동기화 서비스가 초기화되고 있습니다 (예: 데이터베이스에서 데이터 복원, 연결 상태 확인, 서비스 인증 등).
'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
매개변수는 다음과 같습니다.(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
매개변수는 다음과 같습니다.(status: FileStatus) => void
-
상태
-
반환 값
-
Promise<FileStatus>
Chrome 117 이상Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
)
지정된 fileEntry
배열의 각 FileStatus
를 반환합니다. 일반적으로 dirReader.readEntries()의 결과를 사용하여 호출됩니다.
매개변수
-
fileEntries
object[]
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(status: FileStatusInfo[]) => void
-
상태
-
반환 값
-
Promise<FileStatusInfo[]>
Chrome 117 이상Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
)
현재 동기화 백엔드 상태를 반환합니다.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(status: ServiceStatus) => void
반환 값
-
Promise<ServiceStatus>
Chrome 117 이상Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
)
앱의 'syncable'
파일 저장소에 대한 현재 사용량 및 할당량(바이트)을 반환합니다.
매개변수
-
fileSystem
DOMFileSystem
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(info: StorageInfo) => void
-
정보
-
반환 값
-
Promise<StorageInfo>
Chrome 117 이상Promise는 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 이상Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
)
앱의 'syncable'
파일 저장소에 대한 기본 충돌 해결 정책을 설정합니다. 기본적으로 'last_write_win'
로 설정됩니다. 충돌 해결 정책이 'last_write_win'
로 설정된 경우 다음에 파일이 업데이트될 때 기존 파일의 충돌이 자동으로 해결됩니다. 요청이 성공했는지 여부를 알기 위해 callback
를 선택적으로 제공할 수 있습니다.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 117 이상Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
이벤트
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
백그라운드 동기화 서비스에서 파일이 업데이트될 때 실행됩니다.
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
동기화 백엔드에서 오류 또는 기타 상태 변경이 발생할 때 실행됩니다 (예: 네트워크 또는 인증 오류로 인해 동기화가 일시적으로 사용 중지된 경우).
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(detail: ServiceInfo) => void
-
세부정보
-