public void RetrieveAllFiles() { List <tbl_User> list = DirectorySync.GetAllUsers(); List <Google.Apis.Drive.v2.Data.File> result = new List <Google.Apis.Drive.v2.Data.File>(); foreach (var item in list) { var drvService = CreateDriveService(item.Email); FilesResource.ListRequest request = drvService.Files.List(); //request.Q = "'" + item.Email + "'" + " in owners"; Google.Apis.Drive.v2.Data.About about = drvService.About.Get().Fetch(); DirectorySync.UpdateUserMetadata(about, item.Email); result.Clear(); do { try { FileList files = request.Fetch(); result.AddRange(files.Items); request.PageToken = files.NextPageToken; } catch (Exception e) { Response.Write("An error occurred: " + e.Message); request.PageToken = null; } }while (!String.IsNullOrEmpty(request.PageToken)); if (result != null || result.Count > 0) { PermissionList permList = new PermissionList(); List <PermissionLight> permLight = new List <PermissionLight>(); foreach (var f in result.Where(a => !a.MimeType.ToLower().Contains("folder"))) { if (f.Shared == true) { permList = drvService.Permissions.List(f.Id).Fetch(); permLight.Add(new PermissionLight() { DocID = f.Id, Permissions = permList }); } } DirectorySync.PushFiles(item.UserID, result, permLight); } } }
internal static void UpdateUserMetadata(Google.Apis.Drive.v2.Data.About about, string email) { var usr = db.tbl_Users.Where(a => a.Email.ToLower().Trim() == email.ToLower().Trim()).SingleOrDefault(); usr.DomainSharingPolicy = about.DomainSharingPolicy; usr.ETag = about.ETag; usr.IsCurrentAppInstalled = about.IsCurrentAppInstalled; usr.Kind = about.Kind; usr.LargestChangeID = about.LargestChangeId; usr.Name = about.Name; usr.PermissionID = about.PermissionId; usr.QuotaBytesTotal = about.QuotaBytesTotal; usr.QuotaBytesUsed = about.QuotaBytesUsed; usr.QuotaBytesUsedInTrash = about.QuotaBytesUsedInTrash; usr.RootFolderID = about.RootFolderId; db.SubmitChanges(); }
public string f_get_userInfo() { if (this._authenticator == null || this._driveService == null) { return(JsonConvert.SerializeObject(new { Ok = false, tokenAccess = this._token, Message = "redirect user to authentication" })); } try { Userinfo userInfo = GetUserInfo(this._authenticator); Google.Apis.Drive.v2.Data.About about = this._driveService.About.Get().Fetch(); return(JsonConvert.SerializeObject(new { Ok = true, userInfo = new { tokenAccess = this._token, email = userInfo.Email, link = userInfo.Link, picture = userInfo.Picture }, quotaBytesTotal = about.QuotaBytesTotal, quotaBytesUsed = about.QuotaBytesUsed })); } catch (Exception e) { return(JsonConvert.SerializeObject(new { Ok = false, tokenAccess = this._token, Message = e.Message })); } }