123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using Google.Apis.Auth.OAuth2;
- using Google.Apis.Drive.v3;
- using Google.Apis.Services;
- using Google.Apis.Util.Store;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- namespace PDF_Office.ViewModels.HomePanel.CloudDrive
- {
- //多用户UX交互
- public class GoogleDriveManager
- {
- //已登录的用户们
- public List<GoogleDriveUserItem> GoogleDriveUsers = new List<GoogleDriveUserItem>();
- public GoogleDriveManager()
- {
- GoogleDriveStatic.GetFilesPathTemp();
- GoogleDriveStatic.GetCredentialsPath();
- }
- #region 请求身份验证
- /// <summary>
- /// 获取登录过的用户
- /// </summary>
- public async Task<bool> GetHistoryUsers()
- {
- var tuples = await GoogleDriveStatic.GetHistoryService();
- GoogleDriveUsers.Clear();
- foreach (var tuple in tuples)
- {
- if (tuple != null && tuple.Item1 != null && tuple.Item2 != null)
- {
- AddGoogleDriveUser(tuple);
- }
- }
- if (GoogleDriveUsers.Count > 0)
- {
- return true;
- }
- return false;
- }
- public async void AddGoogleDriveUser(Tuple<DriveService, UserCredential> tuple)
- {
- GoogleDriveUserItem user = new GoogleDriveUserItem();
- user.Service = tuple.Item1;
- user.User.CurrentCredential = tuple.Item2;
- user.User.UserAccount = await user.GetUserAcountAsync();
- GoogleDriveUsers.Add(user);
- }
- #endregion
- }
- }
|