//Not in viewmodel cos Navigation available only for content page and we need to create Browser view to show //in authentication process private async Task Run() { var folders = Environment.SpecialFolder.ApplicationData; viewModel.IsBusy = true; viewModel.PhotoCollection.Clear(); this.Appearing -= StartLoad; try { //var responcePage = new ResponcePage(); //var unused = Navigation.PushModalAsync(responcePage); var browser = new EmbeddedBrowser("Login to google"); browser.Cancelled += (s, evt) => { Navigation.PopModalAsync(); }; var unused = Navigation.PushModalAsync(browser); var currdir = DependencyService.Get <ICurrentDir>().GetCurrent(); // var currdir = "/opt/usr/apps/org.tizen.example.TizenXamlApp1.TV/res/"; using (var stream = new FileStream(currdir + "client_secrets.json", FileMode.Open, FileAccess.Read)){ credential = await GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, new[] { PhotosLibraryService.Scope.Photoslibrary }, "user", CancellationToken.None, codeReceiver : new TizenLocalServerCodeReceiver { EmbeddedBrowser = browser }); } unused = Navigation.PopModalAsync(); } catch (Exception e) { Console.WriteLine(e); throw; } // Create the service. service = new PhotosLibraryService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "PhotosViewerTizen", }); var request = service.SharedAlbums.List(); request.PageSize = 50; try { var bookshelves = await request.ExecuteAsync(); var she = bookshelves.SharedAlbums; foreach (var album in she) { if (album != null && album.Title != null) { string test = album.Title; await viewModel.AddOne(album); } } } catch (Exception e) { Console.WriteLine(e); throw; } finally { viewModel.IsBusy = false; TopLabel.Text = "My Albums"; this.Appearing += StartLoad; } }