private void UploadToGoogleDrive(string fileName) { if (Application.internetReachability == NetworkReachability.NotReachable) { return; } #if !UNITY_EDITOR if (_sw != null) { _sw.Close(); _sw = null; } var loadPath = _setting.localPath + fileName; StreamReader sr = new StreamReader(loadPath); var file = new UnityGoogleDrive.Data.File() { Name = fileName, Content = System.Text.Encoding.UTF8.GetBytes(sr.ReadToEnd()) }; sr.Close(); UnityGoogleDrive.GoogleDriveFiles.List().Send().OnDone += fileList => { var f = fileList.Files.FirstOrDefault(_ => _.Name == fileName); if (f == null) { file.Parents = new List <string>() { _setting.drivePath }; // nothing UnityGoogleDrive.GoogleDriveFiles.Create(file).Send().OnDone += (_) => { Debug.Log("upload create done"); }; } else { // overwrite UnityGoogleDrive.GoogleDriveFiles.Update(f.Id, file).Send().OnDone += (_) => { Debug.Log("upload update done"); }; } }; Init(); #endif }
private async UniTask <byte[]> ExportFileAsync(UnityGoogleDrive.Data.File fileMeta) { Debug.Assert(converter is IGoogleDriveConverter <TResource>); var gDriveConverter = converter as IGoogleDriveConverter <TResource>; downloadRequest = new GoogleDriveFiles.ExportRequest(fileMeta.Id, gDriveConverter?.ExportMimeType); await downloadRequest.SendNonGeneric(); if (downloadRequest.IsError || downloadRequest.GetResponseData <UnityGoogleDrive.Data.File>().Content == null) { throw new Exception($"Failed to export '{Path}' resource from Google Drive."); } return(downloadRequest.GetResponseData <UnityGoogleDrive.Data.File>().Content); }
private async UniTask <byte[]> DownloadFileAsync(UnityGoogleDrive.Data.File fileMeta) { if (useNativeRequests) { if (typeof(TResource) == typeof(AudioClip)) { downloadRequest = GoogleDriveFiles.DownloadAudio(fileMeta.Id, WebUtils.EvaluateAudioTypeFromMime(fileMeta.MimeType)); } else if (typeof(TResource) == typeof(Texture2D)) { downloadRequest = GoogleDriveFiles.DownloadTexture(fileMeta.Id, true); } } else { downloadRequest = new GoogleDriveFiles.DownloadRequest(fileMeta); } await downloadRequest.SendNonGeneric(); if (downloadRequest.IsError || downloadRequest.GetResponseData <UnityGoogleDrive.Data.File>().Content == null) { Debug.LogError($"Failed to download {Path}{usedRepresentation.Extension} resource from Google Drive."); return(null); } if (useNativeRequests) { if (typeof(TResource) == typeof(AudioClip)) { loadedObject = downloadRequest.GetResponseData <UnityGoogleDrive.Data.AudioFile>().AudioClip as TResource; } else if (typeof(TResource) == typeof(Texture2D)) { loadedObject = downloadRequest.GetResponseData <UnityGoogleDrive.Data.TextureFile>().Texture as TResource; } } return(downloadRequest.GetResponseData <UnityGoogleDrive.Data.File>().Content); }