Drive API v2 및 v3 비교 가이드

최신 Google Drive API 버전은 v3입니다. v3의 성능이 더 나은 이유는 필드의 하위 집합만 반환합니다. 필요하지 않으면 현재 버전을 사용하세요. v2 모음 v2를 사용 중이라면 살펴보겠습니다 이전하려면 Drive API v3로 이전을 참고하세요. 버전 차이점에 대한 전체 목록은 다음을 참조하세요. Drive API v2와 v3 비교 참조

v2를 계속 사용하려면 개정된 Drive API v2 가이드에서 v3의 안내를 확인하세요. v2 개발자에 대한 가이드가 수정되어야 합니다.

Drive API v3 개선 사항에 대한 자세한 내용은 Google 엔지니어들이 새 API 설계에 대해 논의합니다.

V3 개선사항

성능을 최적화하고 API 동작의 복잡성을 줄이기 위해 v3는 이전 API 버전에 비해 다음과 같은 개선사항이 있습니다.

  • 파일 및 공유 드라이브를 검색하면 기본적으로 전체 리소스가 반환되지 않습니다. 일반적으로 사용되는 필드의 하위 집합만 반환됩니다. 자세한 내용은 fields, files.list 메서드 참고 및 drives.list 메서드를 참조하세요.
  • 이제 응답을 반환하는 거의 모든 메서드에 fields가 필요합니다. 매개변수 값으로 사용됩니다. fields가 필요한 모든 메서드의 목록은 Drive API 참조
  • 중복된 기능이 있는 리소스를 삭제했습니다. 다음은 몇 가지 예입니다.
    • files.list 메서드는 ChildrenParents 컬렉션이 있으므로 v3에서 삭제되었습니다.
    • Realtime.* 메서드가 삭제되었습니다.
  • 검색 시 기본적으로 앱 데이터가 반환되지 않습니다. v2에서는 drive.appdata 범위를 설정하고 files.list에서 애플리케이션 데이터를 반환합니다. 메서드 및 changes.list 메서드가 있지만 성능이 저하됩니다. v3에서는 drive.appdata 범위를 설정합니다. 또한 쿼리 매개변수 spaces=appDataFolder를 설정하여 애플리케이션 데이터에 적합합니다
  • 모든 업데이트 작업은 PUT 대신 PATCH를 사용합니다.
  • Google 문서를 내보내려면 files.export 메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다.
  • changes.list 메서드 동작이 다릅니다. 변경 ID 대신 불투명 페이지 토큰입니다. 변경사항 컬렉션을 폴링하려면 먼저 changes.getStartPageToken 초깃값의 메서드입니다. 후속 쿼리의 경우 changes.list 메서드는 newStartPageToken 값을 반환합니다.
  • 업데이트 메서드는 이제 쓰기 불가능한 필드를 지정하는 요청을 거부합니다.
  • 위의 v2 exportFormatsimportFormats 필드는 about 리소스는 허용되는 형식 v3에서 이들은 가능한 대상을 지원되는 모든 가져오기 또는 내보내기에 추가합니다.
  • v2 appdataappfolder 별칭은 이제 v3에서 appDataFolder입니다.
  • properties 리소스가 v3에서 삭제되었습니다. 이 files 리소스에 properties 필드가 있음 키-값 쌍이 포함되어 있습니다. properties 필드에는 공개 및 속성이 포함되어 있고 appProperties 필드에 비공개 속성이 포함되어 있으므로 공개 상태 필드는 필요하지 않습니다.
  • files 리소스의 modifiedTime 필드는 마지막으로 업데이트됩니다. 모든 사용자가 파일을 수정했습니다. v2에서 modifiedDate 필드는 변경만 가능했습니다. setModifiedDate 필드를 설정한 경우 업데이트 시
  • files 리소스의 viewedByMeTime 필드는 자동으로 실행되지 않습니다. 업데이트.
  • Google Docs 형식을 가져오려면 적절한 대상 mimeType를 설정하세요. 확인할 수 있습니다 v2에서는 ?convert=true를 설정합니다.
  • 지원되지 않는 형식을 사용하면 가져오기 작업에서 400 오류를 반환합니다.
  • 리더 및 댓글 작성자는 권한을 볼 수 없습니다.
  • 권한의 me 별칭이 삭제됩니다.
  • 일부 기능은 요청 리소스의 일부로 사용할 수 있었지만 요청 매개변수로 사용할 수 있습니다. 예를 들면 다음과 같습니다.
    • v2에서는 children.delete를 사용하여 상위 폴더입니다.
    • v3에서는 files.update ?removeParents=parent_id를 포함하는 URL을 검색합니다.

그 밖의 차이점

v3에서는 필드와 매개변수 이름이 다릅니다. 다음은 몇 가지 예입니다.

  • name 속성은 files 리소스의 title를 대체합니다.
  • TimeDate가 아닌 모든 날짜 및 시간 필드의 접미사입니다.
  • 목록 작업은 결과 집합을 포함하는 데 items 필드를 사용하지 않습니다. 이 리소스 유형은 결과 필드를 제공합니다 (예: files 또는 changes).