private async void DownloadFileAsync(int id) { var item = (FileTreeViewItem)GetRows()[id]; var mediaType = MediaSettings.GetMediaFromRemoteMime(item.MimeType); var fileExt = MediaSettings.GetExtensionFromMedia(mediaType); var fileName = item.FileName; if (!string.Equals(System.IO.Path.GetExtension(fileName), fileExt)) { fileName += fileExt; } var savePath = System.IO.Path.Combine(DownloadSettings.GetDownloadFolderPath(), fileName); IsDownloadingFile = true; Debug.Log($"Download start: {fileName}"); switch (mediaType) { case EMediaType.EXCEL: // is document string localMime = MediaSettings.GetLocalMimeFromMedia(mediaType); await DriveAPI.DownloadDocumentAsync(item.FileId, savePath, localMime); break; default: // is not document await DriveAPI.DownloadFileAsync(item.FileId, savePath); break; } IsDownloadingFile = false; Debug.LogFormat("Download end: File saved to: {0}", savePath); AssetDatabase.Refresh(); System.Diagnostics.Process.Start(DownloadSettings.GetDownloadFolderPath()); // ダウンロード先を開く }