설명
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()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
현재 충돌 해결 정책을 가져옵니다.
매개변수
-
callback
함수 선택사항
callback매개변수는 다음과 같습니다.(policy: ConflictResolutionPolicy) => void
반환 값
-
Promise<ConflictResolutionPolicy>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getFileStatus()
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()
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()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
현재 동기화 백엔드 상태를 반환합니다.
매개변수
-
callback
함수 선택사항
callback매개변수는 다음과 같습니다.(status: ServiceStatus) => void
반환 값
-
Promise<ServiceStatus>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
앱의 'syncable' 파일 저장소에 대한 현재 사용량과 할당량을 바이트 단위로 반환합니다.
매개변수
-
fileSystem
DOMFileSystem
-
callback
함수 선택사항
callback매개변수는 다음과 같습니다.(info: StorageInfo) => void
-
정보
-
반환 값
-
Promise<StorageInfo>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
requestFileSystem()
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()
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,
)
백그라운드 동기화 서비스에서 파일이 업데이트되면 실행됩니다.
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
동기화 백엔드에서 오류 또는 기타 상태 변경이 발생할 때 실행됩니다 (예: 네트워크 또는 인증 오류로 인해 동기화가 일시적으로 사용 중지된 경우).
매개변수
-
callback
함수
callback매개변수는 다음과 같습니다.(detail: ServiceInfo) => void
-
세부정보
-