示例#1
0
        private static void FetchGoogleDriveFolderItemsResults()
        {
            if (!webRequestObj.isDone)
            {
                return;
            }
            EditorApplication.update -= FetchGoogleDriveFolderItemsResults;

            //Handle unexpected error
            if (webRequestObj.isHttpError || webRequestObj.responseCode != 200)
            {
                googleFolderIdHierarcyTree.RemoveAt(googleFolderIdHierarcyTree.Count - 1);
                Debug.LogError($"[GoogleDataUpload] Unable to Fetch Google Drive folder Items.{webRequestObj.downloadHandler.text}");
                return;
            }

            //Remove certain characters from returned string ot be able to parse the string using JsonUtility
            string escapedResultFromJson = GoogleDataUploader.ReplaceEscapeCharacters(webRequestObj.downloadHandler.text);
            GoogleDriveSearchResults returnedFolderResults = JsonUtility.FromJson <GoogleDriveSearchResults>(escapedResultFromJson);

            CleanupGoogleItemStruct(ref returnedFolderResults);   //Process returned struct for future use

            //Either set the currentSearch to display or add to a queue for download
            currentGoogleSearch = returnedFolderResults;
            if (downloadingRecursively)
            {
                PrepareDownloadCurrentItems();
            }
        }
示例#2
0
        public static void CleanupGoogleItemStruct(ref GoogleDriveSearchResults structToCheck)
        {
            if (structToCheck == null || structToCheck.files.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < structToCheck.files.Count; i++)
            {
                structToCheck.files[i].mimeType = CutGoogleMineType(structToCheck.files[i].mimeType);
                if (structToCheck.files[i].mimeType.Contains("folder"))
                {
                    structToCheck.files[i].mimeType = "folder";
                    structToCheck.files[i].fileType = GoogleFileType.Folder;
                }
                else
                {
                    structToCheck.files[i].fileType = GoogleFileType.Octet;
                }
            }
        }