diff options
Diffstat (limited to 'samples/OAuthClient/Facebook.aspx.cs')
-rw-r--r-- | samples/OAuthClient/Facebook.aspx.cs | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/samples/OAuthClient/Facebook.aspx.cs b/samples/OAuthClient/Facebook.aspx.cs index 4701d24..e7261a0 100644 --- a/samples/OAuthClient/Facebook.aspx.cs +++ b/samples/OAuthClient/Facebook.aspx.cs @@ -1,31 +1,37 @@ -namespace OAuthClient { +namespace OAuthClient +{ using System; using System.Configuration; using System.Net; using System.Web; using DotNetOpenAuth.ApplicationBlock; - using DotNetOpenAuth.ApplicationBlock.Facebook; using DotNetOpenAuth.OAuth2; - public partial class Facebook : System.Web.UI.Page { - private static readonly FacebookClient client = new FacebookClient { + public partial class Facebook : System.Web.UI.Page + { + private static readonly FacebookClient facebookClient = new FacebookClient + { ClientIdentifier = ConfigurationManager.AppSettings["facebookAppID"], ClientCredentialApplicator = ClientCredentialApplicator.PostParameter(ConfigurationManager.AppSettings["facebookAppSecret"]), }; - protected void Page_Load(object sender, EventArgs e) { - IAuthorizationState authorization = client.ProcessUserAuthorization(); - if (authorization == null) { + protected void Page_Load(object sender, EventArgs e) + { + IAuthorizationState authorization = facebookClient.ProcessUserAuthorization(); + if (authorization == null) + { // Kick off authorization request - client.RequestUserAuthorization(); - } else { - var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); - using (var response = request.GetResponse()) { - using (var responseStream = response.GetResponseStream()) { - var graph = FacebookGraph.Deserialize(responseStream); - this.nameLabel.Text = HttpUtility.HtmlEncode(graph.Name); - } - } + facebookClient.RequestUserAuthorization(); + + // alternatively you can ask for more information + // facebookClient.RequestUserAuthorization(scope: new[] { FacebookClient.Scopes.Email, FacebookClient.Scopes.UserBirthday }); + } + else + { + IOAuth2Graph oauth2Graph = facebookClient.GetGraph(authorization); + // IOAuth2Graph oauth2Graph = facebookClient.GetGraph(authorization, new[] { FacebookGraph.Fields.Defaults, FacebookGraph.Fields.Email, FacebookGraph.Fields.Picture, FacebookGraph.Fields.Birthday }); + + this.nameLabel.Text = HttpUtility.HtmlEncode(oauth2Graph.Name); } } } |