public async Task SignIn(string key) { var authenticationResult = await App.PublicClientApp.AcquireTokenSilentAsync(App.Scopes, App.PublicClientApp.Users.FirstOrDefault(user => user.DisplayableId == key)); Token = authenticationResult.AccessToken; using (var stream = await GetDataStream("https://graph.microsoft.com/v1.0/me")) { DeserializedAccount deserializedAccount = new DeserializedAccount(); DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedAccount.GetType()); deserializedAccount = ser.ReadObject(stream) as DeserializedAccount; if (deserializedAccount == null) { throw new NullReferenceException("Couldn't deserialized the data"); } Login = deserializedAccount.UserPrincipalName; Id = deserializedAccount.Id; } using (var stream = await GetDataStream("https://graph.microsoft.com/v1.0/me/drive")) { DeserializedAccount deserializedAccount = new DeserializedAccount(); DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedAccount.GetType()); deserializedAccount = ser.ReadObject(stream) as DeserializedAccount; if (deserializedAccount == null) { throw new NullReferenceException("Couldn't deserialized the data"); } Size = new SpaceSize(); Size.TotalSize = deserializedAccount.Quota.Total; Size.UsedSize = deserializedAccount.Quota.Used; Size.FreeSize = deserializedAccount.Quota.Remaining; } Status = ConnectionStatusEnum.Connected; }
public async Task Update() { using (var stream = await GetDataStream("https://graph.microsoft.com/v1.0/me/drive")) { DeserializedAccount deserializedAccount = new DeserializedAccount(); DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedAccount.GetType()); deserializedAccount = ser.ReadObject(stream) as DeserializedAccount; if (deserializedAccount == null) { throw new NullReferenceException("Couldn't deserialized the data"); } Size = new SpaceSize(); Size.TotalSize = deserializedAccount.Quota.Total; Size.UsedSize = deserializedAccount.Quota.Used; Size.FreeSize = deserializedAccount.Quota.Remaining; } Status = ConnectionStatusEnum.Connected; }