2
GOLANG : 구글에서 제외 쓰레기 파일 내가 버전 사용의 세부 사항을 WRE 다음 내, Google 드라이브 API를 개발에 가서 사용하고
type listAllFilesArgs struct {
\t query string
\t fields []googleapi.Field
\t sortOrder string
\t maxFiles int64
}
type Field string
func (self *Drive) listAllFiles(args listAllFilesArgs) ([]*drive.File, error) {
\t var files []*drive.File
\t var pageSize int64
\t if args.maxFiles > 0 && args.maxFiles < 1000 {
\t \t pageSize = args.maxFiles
\t } else {
\t \t pageSize = 1000
\t }
\t controlledStop := fmt.Errorf("Controlled stop")
\t err := self.service.Files.List().Q(args.query).Fields(args.fields...).OrderBy(args.sortOrder).PageSize(pageSize).Pages(context.TODO(), func(fl *drive.FileList) error {
\t \t files = append(files, fl.Files...)
\t \t // Stop when we have all the files we need
\t \t if args.maxFiles > 0 && len(files) >= int(args.maxFiles) {
\t \t \t return controlledStop
\t \t }
\t \t return nil
\t })
\t if err != nil && err != controlledStop {
\t \t return nil, err
\t }
\t if args.maxFiles > 0 {
\t \t n := min(len(files), int(args.maxFiles))
\t \t return files[:n], nil
\t }
\t return files, nil
}
func (self *Drive) newPathfinder() *remotePathfinder {
\t return &remotePathfinder{
\t \t service: self.service.Files,
\t \t files: make(map[string]*drive.File),
\t }
}
드라이브 이동 버전 go1 .8.1 windows/amd64 및 가져 오기 "google.golang.org/api/drive/v3" "google.gola 개발
에 대한 ng.org/api/googleapi "Golang 쓰레기를 포함하는 파일을 나열하는
err = gDrive.List(listArgs)
\t if err != nil {
\t \t fmt.Errorf("Failed to list files: %s", err)
\t }
func (self *Drive) List(args ListFilesArgs) (err error) {
\t listArgs := listAllFilesArgs{
\t \t query: args.Query,
\t \t fields: []googleapi.Field{"nextPageToken", "files(id,name,md5Checksum,mimeType,size,createdTime,parents)"},
\t \t sortOrder: args.SortOrder,
\t \t maxFiles: args.MaxFiles,
\t }
\t files, err := self.listAllFiles(listArgs)
\t if err != nil {
\t \t return fmt.Errorf("Failed to list files: %s /n", err)
\t }
\t pathfinder := self.newPathfinder()
\t if args.AbsPath {
\t \t // Replace name with absolute path
\t \t for _, f := range files {
\t \t \t f.Name, err = pathfinder.absPath(f)
\t \t \t if err != nil {
\t \t \t \t return err
\t \t \t }
\t \t }
\t }
\t PrintFileList(PrintFileListArgs{
\t \t Out: args.Out,
\t \t Files: files,
\t \t NameWidth: int(args.NameWidth),
\t \t SkipHeader: args.SkipHeader,
\t \t SizeInBytes: args.SizeInBytes,
\t })
\t return
}
구글 드라이브 API를. 휴지통 파일을 제외하는 방법
스 니펫 모양을? – putu
@putu, 업데이트 됨 –
파일을 ['drive.File'] (https://godoc.org/google.golang.org/api/drive/v3#File)로 필터링 할 수 있습니다. 구조체에는'Trashed'과'ExplicitlyTrashed' 필드가 있습니다. 'Q (...) '에 전달 될 쿼리에 설정하십시오. 쿼리에 대한 자세한 내용은 [파일 검색] (https://developers.google.com/drive/v3/web/search-parameters) – putu