<Grid x:Name="ContentPanel" Grid.Row="0" Margin="12,0,12,0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Button Grid.Column="0" Grid.Row="1" Content="Login" Click="LoginButton_Click"/> <Button Grid.Column="0" Grid.Row="2" Content="Get User Name" Click="GetUserNameButton_Click" Visibility="Collapsed" x:Name="GetUserNameButton"/> <TextBlock Grid.Column="0" Grid.Row="0" x:Name="UserNameTextBlock" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> You need to use the Facebook SDK for .NET. You can install it via NuGet Package Manager.
Install-Package Facebook using Facebook; facebook windows phone xap new
private async void LoginButton_Click(object sender, RoutedEventArgs e) { var fb = new FacebookClient(); var loginUrl = fb.GetLoginUrl(new Dictionary<string, object> { {"client_id", "YOUR_APP_ID"}, {"redirect_uri", "https://www.facebook.com/connect/login_success.html"}, {"response_type", "token"} }); var browser = new WebBrowser(); browser.Navigating += async (o, args) => { if (args.Uri.ToString().Contains("access_token")) { var accessToken = args.Uri.Fragment.Split('=')[1].Split('&')[0]; // Store accessToken securely // For simplicity, let's use a static variable App.AccessToken = accessToken; GetUserNameButton.Visibility = Visibility.Visible; ((Button)o).Visibility = Visibility.Collapsed; } args.Cancel = true; // Prevents navigating to actual URL }; browser.Navigate(loginUrl); } public static class App { public static string AccessToken { get; set; } } <Grid x:Name="ContentPanel" Grid
Receive emails for the latest updates, tips, and offers.
By signing up, you agree to our terms of use and privacy policy.
Receive emails for the latest updates, tips, and offers for eLearning & Masteriyo.
By signing up, you agree to our terms of use and privacy policy.
Receive emails for the latest updates, tips, and offers.
By signing up, you agree to our terms of use and privacy policy.