diff options
Diffstat (limited to 'drive/sync_upload.go')
| -rw-r--r-- | drive/sync_upload.go | 19 | 
1 files changed, 10 insertions, 9 deletions
| diff --git a/drive/sync_upload.go b/drive/sync_upload.go index f1e43a4..bd2b76d 100644 --- a/drive/sync_upload.go +++ b/drive/sync_upload.go @@ -3,13 +3,14 @@ package drive  import (  	"bytes"  	"fmt" -	"google.golang.org/api/drive/v3" -	"google.golang.org/api/googleapi"  	"io"  	"os"  	"path/filepath"  	"sort"  	"time" + +	"google.golang.org/api/drive/v3" +	"google.golang.org/api/googleapi"  )  type UploadSyncArgs struct { @@ -96,7 +97,7 @@ func (self *Drive) UploadSync(args UploadSyncArgs) error {  func (self *Drive) prepareSyncRoot(args UploadSyncArgs) (*drive.File, error) {  	fields := []googleapi.Field{"id", "name", "mimeType", "appProperties"} -	f, err := self.service.Files.Get(args.RootId).Fields(fields...).Do() +	f, err := self.service.Files.Get(args.RootId).SupportsAllDrives(true).Fields(fields...).Do()  	if err != nil {  		return nil, fmt.Errorf("Failed to find root dir: %s", err)  	} @@ -128,7 +129,7 @@ func (self *Drive) prepareSyncRoot(args UploadSyncArgs) (*drive.File, error) {  		AppProperties: map[string]string{"sync": "true", "syncRoot": "true"},  	} -	f, err = self.service.Files.Update(f.Id, dstFile).Fields(fields...).Do() +	f, err = self.service.Files.Update(f.Id, dstFile).SupportsAllDrives(true).Fields(fields...).Do()  	if err != nil {  		return nil, fmt.Errorf("Failed to update root directory: %s", err)  	} @@ -268,7 +269,7 @@ func (self *Drive) createMissingRemoteDir(args createMissingRemoteDirArgs) (*dri  		return dstFile, nil  	} -	f, err := self.service.Files.Create(dstFile).Do() +	f, err := self.service.Files.Create(dstFile).SupportsAllDrives(true).Do()  	if err != nil {  		if isBackendOrRateLimitError(err) && args.try < MaxErrorRetries {  			exponentialBackoffSleep(args.try) @@ -311,7 +312,7 @@ func (self *Drive) uploadMissingFile(parentId string, lf *LocalFile, args Upload  	// Wrap reader in timeout reader  	reader, ctx := getTimeoutReaderContext(progressReader, args.Timeout) -	_, err = self.service.Files.Create(dstFile).Fields("id", "name", "size", "md5Checksum").Context(ctx).Media(reader, chunkSize).Do() +	_, err = self.service.Files.Create(dstFile).SupportsAllDrives(true).Fields("id", "name", "size", "md5Checksum").Context(ctx).Media(reader, chunkSize).Do()  	if err != nil {  		if isBackendOrRateLimitError(err) && try < MaxErrorRetries {  			exponentialBackoffSleep(try) @@ -352,7 +353,7 @@ func (self *Drive) updateChangedFile(cf *changedFile, args UploadSyncArgs, try i  	// Wrap reader in timeout reader  	reader, ctx := getTimeoutReaderContext(progressReader, args.Timeout) -	_, err = self.service.Files.Update(cf.remote.file.Id, dstFile).Context(ctx).Media(reader, chunkSize).Do() +	_, err = self.service.Files.Update(cf.remote.file.Id, dstFile).SupportsAllDrives(true).Context(ctx).Media(reader, chunkSize).Do()  	if err != nil {  		if isBackendOrRateLimitError(err) && try < MaxErrorRetries {  			exponentialBackoffSleep(try) @@ -373,7 +374,7 @@ func (self *Drive) deleteRemoteFile(rf *RemoteFile, args UploadSyncArgs, try int  		return nil  	} -	err := self.service.Files.Delete(rf.file.Id).Do() +	err := self.service.Files.Delete(rf.file.Id).SupportsAllDrives(true).Do()  	if err != nil {  		if isBackendOrRateLimitError(err) && try < MaxErrorRetries {  			exponentialBackoffSleep(try) @@ -389,7 +390,7 @@ func (self *Drive) deleteRemoteFile(rf *RemoteFile, args UploadSyncArgs, try int  func (self *Drive) dirIsEmpty(id string) (bool, error) {  	query := fmt.Sprintf("'%s' in parents", id) -	fileList, err := self.service.Files.List().Q(query).Do() +	fileList, err := self.service.Files.List().Corpora("allDrives").IncludeItemsFromAllDrives(true).SupportsAllDrives(true).Q(query).Do()  	if err != nil {  		return false, fmt.Errorf("Empty dir check failed: ", err)  	} | 
